您好,登錄后才能下訂單哦!
小編這次要給大家分享的是IDEA中怎么創建Spring Data Jpa項目,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
一、IDEA 創建工程
使用IDEA 創建工程的過程,使用文字做簡單描述。
做完最后一步,工程就創建完成了。
PS:在配置 IEAD 中的 Maven 功能時,將“Always update snapshots” 選中,這樣就會及時更新測試包,并且不緩存Maven 的錯誤信息。
1.1、Pom 文件中的依賴信息
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>
二、編輯配置文件
在 resources 目錄中創建配置文件:application.yml;添加數據源等信息。
spring: datasource: url: jdbc:mysql://dbserver.com:3306/user?useUnicode=true&characterEncoding=utf-8 username: username password: password driver-class-name: com.mysql.cj.jdbc.Driver server: port: 8080 compression: enabled: true servlet: context-path: /
三、編寫實體類
創建User的實體類 Entity/User.java(省略了getter&setter方法;如果不寫的話,會對數據操作失敗)。
/** * 使用JPA注解配置映射關系 */ @Entity //告訴JPA這是一個實體類(和數據表映射的類) @Table(name = "tbl_user") //@Table來指定和哪個數據表對應;如果省略,默認表名就是該類名的小寫:user public class User { @Id //表示這個屬性是數據表中的主鍵 @GeneratedValue(strategy = GenerationType.IDENTITY) //還是一個自增的主鍵 private Integer id; @Column(name = "last_name",length = 50) //這是和數據表對應的一個列,可以定義其在數據表中的名字及長度 private String lastName; @Column //省略的情況,默認列名就是屬性名 private String email; }
使用JPA的一個好處就是,它能夠根據實體類自動創建數據庫表,只需簡單配置幾步即可:
在application.yml文件中增加(jpa 也是spring下的一個屬性,所以它也是在spring這個層級下的):
jpa: hibernate: ddl-auto: update #定義數據表的生成策略。update:更新或者創建數據表結構 show-sql: true #控制臺顯示sql語句
運行主程序,控制臺會報錯找不到對應的表,但是這實際上是正常的,去數據庫看就可以發現名為tbl_user的表已經創建成功了,而且是根據實體類中的設置創建的。
四、持久層接口
JPA中有許多封裝好的對數據庫進行操作的方法,不需要我們再寫sql語句,而是直接調用其中的方法,就可以完成對數據的操作了。而這時,持久層只需繼承JpaRepository類就可以了。
/** * Dao/UserRepository.java * 繼承JpaRepository來完成對數據庫的操作 * JpaRepository<T,id>,T表示要進行操作的實體類,id表示類的主鍵的類型 */ public interface UserRepository extends JpaRepository<User,Integer> { }
五、控制層
編寫控制層代碼來測試一下是否成功。因為沒有界面,所以這邊直接用@RestController注解來返回json串就好了,把持久層接口自動注入進來,直接調用其中對應的方法。
@RestController @EnableAutoConfiguration public class UserController { @Autowired UserRepository userRepository; @GetMapping("/user/{id}") public User getUser(@PathVariable("id") Integer id) { Optional<User> optional = userRepository.findById(id); if (optional.isPresent()) { User user = optional.get(); return user; } else { return new User(); } } @GetMapping("/user") public User insertUser(User user) { User save = userRepository.save(user); return save; } }
六、測試
1.首先插入一條數據:
地址欄輸入 :http://localhost:8080/user lastName=zhangsan&email=aa
2、查詢:
地址欄輸入 :http://localhost:8080/user/1
看完這篇關于IDEA中怎么創建Spring Data Jpa項目的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。