天天看點

spring data jpa 看這一篇就夠了

什麼是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

spring data jpa 看這一篇就夠了

CrudReposiroty主要是添加了對資料的增删改查的方法

3.PagingAndSortingRepository: 繼承了CrudRepository

4.JPARepository: 繼承了PagingAndSortingRepository接口

在開發中常用JPARepository

優點: 對繼承父接口中方法的傳回值進行了适配,因為在父類接口中通常都傳回疊代器,需要我們自己進行強制類型轉化。而在JpaRepository中,直接傳回了List

5.JpaSpecificationExecutor: 這個接口單獨存在,沒有繼承以上說的接口

主要提供了多條件查詢的支援,并且可以在查詢中添加分頁和排序。

因為這個接口單獨存在,是以需要配合以上說的接口使用,如:

spring data jpa 看這一篇就夠了

總結:

  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

提供多條件查詢

繼續閱讀