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();

  

 

posted @   巴_卫  阅读(384)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示