Spring Cloud項目擴展(六)集成SpringData jpa

​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的源碼下載地址。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章