1. 程式人生 > >Spring全家桶系列–SpringBoot之入門JPA

Spring全家桶系列–SpringBoot之入門JPA

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架構

分享網際網路最新文章 關注網際網路最新發展