Hibernate Criteria查询

Hibernate Criteria查询

ID:39551272

大小:28.00 KB

页数:4页

时间:2019-07-06

Hibernate Criteria查询_第1页
Hibernate Criteria查询_第2页
Hibernate Criteria查询_第3页
Hibernate Criteria查询_第4页
资源描述:

《Hibernate Criteria查询》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、查询所有数据:Criteriac=s.createCriteria(Student.class);Listlist=c.list();精确查询:c.add(Restrictions.eq("id",newInteger(22)));模糊查询:c.add(Restrictions.like("name","%2%"));条件查询:c.add(Restrictions.ge("id",newInteger(9)));范围查询:c.add(Restrictions.between("id",newInt

2、eger(5),newInteger(8)));逻辑语句:and:c.add(Restrictions.ge("id",newInteger(6)));c.add(Restrictions.le("age",newInteger(16)));or:c.add(Restrictions.or(Restrictions.ge("id",newInteger(6)),Restrictions.le("age",newInteger(16))));not:c.add(Restrictions.not(Re

3、strictions.ge("id",newInteger(6))));//分页c.setFirstResult(3);//从第几行开始取数据c.setMaxResults(3);//总共取多少行数据Listlist=c.list();排序:c.addOrder(Order.desc("id"));分组:c.setProjection(Projections.groupProperty("age"));查询的结果只有一个值时:Objectobj=c.uniqueResult();统计函数的使用:a

4、vg()rowCount()count()max()min()countDistinct()c.setProjection(Projections.avg("age"));在SQL语句中的多条件分组与统计功能,可以利用ProjectionList类来实现:Criteriac=session.createCriteria(User.class);ProjectionListprolist=Projections.projectionList();prolist.add(Projections.gro

5、upProperty("age"));prolist.add(Projections.rowCount());c.setProjection(prolist);通过以上代码,实现了对不同年龄人员数量的分组统计,当进行检索时,Hibernate会生成类似如下的SQL语句:Selectage,count(*)fromusergroupbyage;在Hibernate3中DetachedCriteria类的使用:构造常用的查询条件,需要的时候与session关联(与PreparedStatement类似

6、)DetachedCriteriadc=DetachedCriteria.forClass(User.class);dc.add(Expression.eq("name","zhaoxin"));dc.add(Expression.eq("sex","1"));Criteriac=dc.getExecutableCriteria(session);Iteratorit=c.list().iterator();注意:DetachedCriteria的生存周期与session实例无关,当需要进行检索时

7、,通过getExecutableCriteria(session)方法,与当前的Session实例关联并获得运行期的Criteria实例,完成检索。DetachedCriteria类实现子查询:DetachedCriteriadc=DetachedCriteria.forClass(User.class);dc.setProjection(Projections.avg("age"));Criteriac=session.createCriteria(User.class);c.add(Subqu

8、eries.propertyGt("age",dc));Listlist=c.list();当执行检索时Hibernate会生成类似如下的SQL语句:Select*fromuserwhereage>(selectavg(age)fromusergroupbyage);

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。