什麼是Spring Data JPA?
Spring Data 是Spring提供的操作資料的架構在Spring data JPA是Spring data的一個子產品,通過Spring data 基于jpa标準操作資料的子產品。
Spring Data的核心能力,就是基于JPA操作資料,并且可以簡化操作持久層的代碼。
Spring Data JPA提供的核心接口
1.Repository:
提供了方法名成查詢方式:
方法的名稱要遵循 findBy + 屬性名(首字母大寫) + 查詢條件(首字母大寫 Is Equals)
findByNameLike(String name)
findByName(String name)
findByNameAndAge(String name, Integer age)
findByNameOrAddress(String name) 等...
基于@Query注解的查詢和更新
//基于HQL
2.CrudReposiroty : 繼承了Repository

CrudReposiroty主要是添加了對資料的增删改查的方法
3.PagingAndSortingRepository: 繼承了CrudRepository
4.JPARepository: 繼承了PagingAndSortingRepository接口
在開發中常用JPARepository
優點: 對繼承父接口中方法的傳回值進行了适配,因為在父類接口中通常都傳回疊代器,需要我們自己進行強制類型轉化。而在JpaRepository中,直接傳回了List
5.JpaSpecificationExecutor: 這個接口單獨存在,沒有繼承以上說的接口
主要提供了多條件查詢的支援,并且可以在查詢中添加分頁和排序。
因為這個接口單獨存在,是以需要配合以上說的接口使用,如:
總結:
Spring Data Jpa中一共提供了
* 1.Repository:*
提供了findBy + 屬性方法
@Query
HQL: nativeQuery 預設false
SQL: nativeQuery 預設truebr/>更新的時候,需要配合@Modifying使用
2. CurdRepository:
繼承了Repository 主要提供了對資料的增删改查
3.PagingAndSortRepository:
繼承了CrudRepository 提供了對資料的分頁和排序,缺點是隻能對所有的資料進行分頁或者排序,不能做條件判斷
4.JpaRepository:** 繼承了PagingAndSortRepository
開發中經常使用的接口,主要繼承了PagingAndSortRepository,對傳回值類型做了适配
* 5.JpaSpecificationExecutor
提供多條件查詢