JPARepository

 

 

JpaSpecificationExecutor

  • 經過查詢條件查詢java

  • 方法spring

    1. Optional<T> findOne(@Nullable Specification<T> spec):根據條件查詢less

    2. findAll:查詢全部ui

      • List<T> findAll(@Nullable Specification<T> spec):根據條件查詢全部spa

      • Page<T> findAll(@Nullable Specification<T> spec, Pageable pageable):根據條件分頁[排序]code

      • List<T> findAll(@Nullable Specification<T> spec, Sort sort):根據條件排序對象

    3. long count(@Nullable Specification<T> spec):查詢數量blog

  • Specification接口:排序

    Predicate toPredicate(Root<T> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder);
    1. 該接口一般使用匿名內部類
    2. Predicate 表明查詢條件
    3. Root 表明查詢的實體類對象
    4. CriteriaQuery 能夠從中查詢到 root 對象,還能夠用來添加查詢條件,還能夠結合EntityManager獲取最終查詢的TypeQuery對象
    5. CriteriaBuilder 用於建立Criteria相關對象的工廠,固然能夠從中獲取到 Predicate 對象

Spring Data Jpa中一共提供了

Repository:
  • 支持方法命名查詢 (提供了findBy + 屬性方法 )繼承

  • @Query

    ​ HQL: nativeQuery 默認false

      SQL: nativeQuery 默認true

    更新的時候,須要配合@Modifying使用
CurdRepository:

繼承了Repository 主要提供了對數據的增刪改查

PagingAndSortRepository:

繼承了CrudRepository 提供了對數據的分頁和排序,缺點是隻能對全部的數據進行分頁或者排序,不能作條件判斷

JpaRepository:

繼承了PagingAndSortRepository,開發中常用的接口,主要繼承了PagingAndSortRepository,對返回值類型作了適配

JpaSpecificationExecutor

提供多條件查詢

相關文章
相關標籤/搜索