Criteria接口
Criteria查询通过面相对向的设计,将数据查询条件封装为一个对象。在hibernate执行时会把criteria指定的查询恢复相应的sql语句。
条件查询
Criteria criteria = session.createCriteria(User.class); criteria.add(Restrictions.eq("uid",2));//add用来设置条件值,add里面实现条件 List<User> list =criteria.list();
常用的方法
排序查询
addOrder()方法
Criteria criteria = session.createCriteria(User.class); criteria.addOrder(Order.desc("uid"));//根据uid降排列
分页查询跟hql分页一样(详情看上节)
createCriteria()方法
实现联合查询
Criteria criteria = session.createCriteria(User.class); .add(Restrictions.eq("name","jack")); .createCriteria("role"); .add(Restrictions.eq("rolename","admin"));
setProjecttion()方法
主要完成聚合查询和分组查询
rowCount行数 , sum 相加, avg 平均, max 最大 ,min 最小 等
Criteria criteria = session.createCriteria(User.class); .setProjecttion(Projections.projectionList() .add( Projections.rowCount() ) .add( Projections.avg("age") ) )
uniqueResult()方法
得到唯一查询结果
Criteria criteria = session.createCriteria(User.class); .add(Restrictions.idEq("2")) .uniqueResult();
时间: 2024-11-05 00:45:35