Spring全家桶系列–SpringBoot之入門JPA
什麼是JPA?
複製程式碼
一種規範,並非ORM框架,也就是ORM上統一的規範
用了之後可以做什麼,為什麼要用?
複製程式碼
程式碼解釋:
實體類
dao層
測試類
上面的操作已經完成了一個查詢全部,相信不用在做多餘的解釋了
JPA優點:主要就是簡單易用,整合方便,可以不用寫SQL語句
準備工作
這裡的環境
- JDK 1.8 以上
- IDEA 2018.2
- Gradle 4+ 或者 Maven 3.2+
- 在https://start.spring.io/ 初始化一個專案
這裡使用的是Gradle
下載之後請在IDEA匯入專案
build.gradle配置
開始定義一個簡單的實體
- 這裡有一個User類,它有三個屬性,id,name和ename。你還有兩個建構函式。預設建構函式僅為JPA而存在。您不會直接使用它,因此它被指定為 protected 。另一個建構函式是您將用於建立要儲存到資料庫的user例項的建構函式。
- 在User類上加 @Entity 註解,表示這個是一個 JPA 的實體,如果在 User 類上沒有加 @Table 註解,表明該實體將對映到名為user的表,如果要加上 @Table ,可以在其 name 屬性裡寫入表名,如: @Table(name = "t_user") User的id屬性使用@Id註釋,以便JPA將其識別為物件的ID。id屬性也使用@GeneratedValue註釋
- @GeneratedValue(strategy = GenerationType.IDENTITY) 自增長ID策略
- 其他兩個屬性name和ename未註釋。表明它們將對映到與屬性本身相同一名稱的列,比如,User實體中的name屬性對映user表中的name列。
- toString() 方便將列印出實體的屬性
建立一個 UserRepository 介面
這裡很簡單,直接繼承核心介面JpaRepository
src/main/java/com/example/springbootjpademo/repository/UserRepository.java
配置檔案application.yml
修改application.properties 為 application.yml
src/main/resources/application.yml
建立測試類進行查詢
src/test/java/com/example/springbootjpademo/SpringbootJpaDemoApplicationTests.java
輸出
注意
如果出現下列等錯誤:
Error:(41, 13) java: 找不到符號
符號: 方法 setName(java.lang.String)
位置: 型別為com.example.springbootjpademo.entity.User的變數 user
複製程式碼
請注意下面的設定是否正確:
其他操作
src/test/java/com/example/springbootjpademo/SpringbootJpaDemoApplicationTests.java
最後資料庫的值:
希望此文能幫到大家的同時,也聽聽大家的觀點。歡迎留言討論,加關注,分享你的高見!持續更新!
我本人邀約各大BATJ架構大牛共創Java高階架構交流社群群,(群號:673043639)致力於免費提供Java架構行業交流平臺,通過這個平臺讓大家相互學習成長,提高技術,讓自己的水平進階一個檔次,成功通往Java架構技術大牛或架構師發展。
為什麼某些人會一直比你優秀,是因為他本身就很優秀還一直在持續努力變得更優秀,而你是不是還在滿足於現狀內心在竊喜!
合理利用自己每一分每一秒的時間來學習提升自己,不要再用"沒有時間“來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己一個交代!
- To-陌霖Java架構
分享網際網路最新文章 關注網際網路最新發展