jpa查询笔记之CriteriaBuilder类和Predicate类

CriteriaBuilder是一个工厂类,用来创建安全查询的criteriaQuery对象。该对象是用来构建查询的。

CriteriaBuilder的2种创建方式

CriteriaBuilder criteriaBuilder = session.getCriteriaBuilder();
EntityManager em=session.getEntityManagerFactory().createEntityManager();
CriteriaBuilder cb=em.getCriteriaBuilder();

criteriaQuery查询主语句-------它必须作用于实体类型(指明主表),【它的初始化和泛型类的初始化一样】

CriteriaQuery<User>criteriaQuery= session.getCriteriaBuilder().createQuery(User.class);

Root根对象对应于from后面的表,如select * from a,b,c 那么a,b,c就相当于Root,Root,Root,Root是一个类型化的类,创建时要指定它的类型。

Root<User>rootUser=criteriaQuery.from(User.class);

Predicate查询条件的拼接对应于where后面的添加表达式。

关于Predicate接口用法参考https://www.cnblogs.com/rever/p/9773743.html

2

CriteriaBuilder .方法-----------相对应的判断符号如下

方法名 sql中的符号
between between and
equal =
gt >
ge <
lt
le
like like

-eq、-ne、-gt、-ge、-lt、-le英文意思

-eq :equal(相等)
-ne :not equal(不等) 
-gt  :greater than(大于)
-ge :greater than or equal(大于或等于)
-lt   :less than(小于)
-le  :less than or equal(小于或等于)

参考文章

《java-jpa-criteriaBuilder使用入门》, 一起来围观吧 https://blog.csdn.net/ID_Kong/article/details/70225032

-eq、-ne、-gt、-ge、-lt、-le英文意思
https://blog.csdn.net/Rainnnbow/article/details/47775665

你可能感兴趣的:(SSH,springboot)