Hibernate中Criteria查询常用方法
程序员文章站
2022-04-15 22:06:47
...
前面的映射链接数据库就略过了
Criteria 接口与Query接口非常类型,允许创建并执行面向对象的标准化查询.值的注意的是Criteria接口是轻量级的,不能再Session只玩使用
首先使用Criteria,必须得到Criteria
Criteria criteria=session.createCriteria();
Criteria criteria = session.createCriteria(Customer.class); //添加实体类class
查询操作
查询所有
List<Customer> list = criteria.list();
分页查询
criteria.setFirstResult(0); 从0开始
criteria.setMaxResults(3); 每页3个对象
List<Customer> list = criteria.list();
等于
criteria.add(Restrictions.eqOrIsNull("id", 8));
模糊查询
criteria.add(Restrictions.like("name","%白%"));
大于等于
criteria.add(Expression.ge("id", 5));
小于等于
criteria.add(Expression.le("id", 5));
范围间查询
criteria.add(Expression.between("id", 5, 10));
对结果排序
criteria.addOrder(Order.desc("id"));--逆序
criteria.addOrder(Order.asc("id"));--顺序
聚合函数查询
criteria.setProjection(Projections.avg("id"));
criteria.setProjection(Projections.max("id"));
criteria.setProjection(Projections.min("id"));
criteria.setProjection(Projections.groupProperty("id"));
criteria.setProjection(Projections.sum("id"));
criteria.setProjection(Projections.count("id"));
int num=criteria.list().iterator().next();
限定返回数据行数
criteria.setFirstResult(0); 从0行开始
criteria.setMaxResults(3); 共查询3行