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

提供多条件查询

相关文章
相关标签/搜索