Hibernate学习笔记(6)---Criteria接口
Criteria接口
Criteria查询通过面相对向的设计,将数据查询条件封装为一个对象。在hibernate执行时会把criteria指定的查询恢复相应的sql语句。
条件查询
1 2 3 | Criteria criteria = session.createCriteria(User. class ); criteria.add(Restrictions.eq( "uid" , 2 )); //add用来设置条件值,add里面实现条件 List<User> list =criteria.list(); |
常用的方法
排序查询
addOrder()方法
1 2 | Criteria criteria = session.createCriteria(User. class ); criteria.addOrder(Order.desc( "uid" )); //根据uid降排列 |
分页查询跟hql分页一样(详情看上节)
createCriteria()方法
实现联合查询
1 2 3 4 | Criteria criteria = session.createCriteria(User. class ); .add(Restrictions.eq( "name" , "jack" )); .createCriteria( "role" ); .add(Restrictions.eq( "rolename" , "admin" )); |
setProjecttion()方法
主要完成聚合查询和分组查询
rowCount行数 , sum 相加, avg 平均, max 最大 ,min 最小 等
1 2 3 4 5 6 | Criteria criteria = session.createCriteria(User. class ); .setProjecttion(Projections.projectionList() .add( Projections.rowCount() ) .add( Projections.avg( "age" ) ) ) |
uniqueResult()方法
得到唯一查询结果
1 2 3 | Criteria criteria = session.createCriteria(User. class ); .add(Restrictions.idEq( "2" )) .uniqueResult(); |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步