springdata jpa使用起來比較簡單,本篇將在項目集成。目的是爲後面介紹elasticsearch的使用打下基礎。下面直接開始。
1,以我們的example-service項目爲例,首先引入jar包,lombok是非必須的。我們這裏使用的mysql數據庫。
2,增加mysql和jpa配置。hibernate.hbm2ddl.auto 參數的作用主要用於:自動創建、更新、驗證數據庫表結構,有四個值。
3,創建一個新的moudle,擁有存放一些公共的實體類。
4,新創建的entity模塊中引入jar包。
5,在service模塊中引入entity模塊。在service的pom中加入如下代碼。
6,在entity中增加實體類。
7,在service項目中創建dao包,並在包中創建一個接口集成JpaRepository
8,測試查看結果。
總結:jpa的集成很簡單。其實JPA在這裏遵循 Convention over configuration(約定大約配置)的原則,遵循 Spring 以及 JPQL 定義的方法命名。Spring提供了一套可以通過命名規則進行查詢構建的機制。這套機制會把方法名首先過濾一些關鍵字,比如 find…By,read…By,query…By,count…By 和 get…By。系統會根據關鍵字將命名解析成 2 個子語句,第一個 By 是區分這兩個子語句的關鍵詞。這個 By 之前的子語句是查詢子語句(指明返回要查詢的對象),後面的部分是條件子語句。如果直接就是 findBy… 返回的就是定義 Respository 時指定的領域對象集合,同時 JPQL 中也定義了豐富的關鍵字:and、or、Between 等等。
9,自定義語句。使用Query註解並且在註解中使用nativeQuery=true,可以使用原生語句進行查詢。
也可以去掉nativeQuery=true,使用費原生sql進行查詢。
10,關聯查詢。
10.1,entity項目中增加Hero實體類。
10.2,創建一個存放聯合查詢結果的實體類。記得一定要帶上構造方法。
10.3,MyBallRepository中增加如下查詢方法。
10.4,查看運行結果。
本篇簡單介紹了jpa的使用。集成和簡單使用都很簡單。關鍵是要對JPQL熟悉,才能熟練運用。
關注公衆號:直立行走的程序猿
公衆號回覆springcloud獲得git的源碼下載地址。