java-jpa-criteriaBuilder使用

jpa

CriteriaBuilder 安全查询创建工厂

CriteriaBuilder 安全查询创建工厂,,创建CriteriaQuery,创建查询具体具体条件Predicate 等。
CriteriaBuilder是一个工厂对象,安全查询的开始.用于构建JPA安全查询.可以从EntityManager 或 EntityManagerFactory类中获得CriteriaBuilder。
比如:

CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder();

CriteriaQuery查询条件

eq 等于,第一个参数是对象属性,第二个参数是值
allEq 参数为一个Map对象,相当于多个eq的叠加
gt 大于
ge 大于等于
lt <
le <=
between 在两个值之间Expression.between("age",new Integer(10),new Integer(20));
like like查询
in in查询
eqProperty 用于比较两个对象的属性的值是否相等
gtProperty
geProperty
ltProperty
leProperty
and and方法可以嵌套Expression对象,用于and关系
or 同上

Root

Root 定义查询的From子句中能出现的类型

Criteria查询的查询根定义了实体类型,能为将来导航获得想要的结果,它与SQL查询中的FROM子句类似。

root.get("属性值")

JpaSpecificationExecutor

T findOne(Specification<T> spec);
List<T> findAll(Specification<T> spec);
Page<T> findAll(Specification<T> spec, Pageable pageable);
List<T> findAll(Specification<T> spec, Sort sort);
long count(Specification<T> spec);

 

findOne(spec):根据条件查询获取一条数据;

findAll(spec) :根据条件查询获取全部数据;

findAll(specification, pageable) : 根据条件分页查询数据,pageable设定页码、一页数据量,同时返回的是Page类对象,可以通过getContent()方法拿到List集合数据;

findAll(specification, sort) : 根据条件查询并返回排序后的数据;

 

注:这些资料都是项目中用到JPA的时候自己在网上整理的一开始很没有头绪



posted @ 2022-04-11 17:17  彳亍亍  阅读(811)  评论(0)    收藏  举报