Criteria查询
1、Criteria表达式
Criteria c=session.createCriteria(User.class);
List result=c.list();
Iterator it=result.iterator();
while(it.hasNext()){
User u=it.next();
System.out.println("用户名:"+u.getName());
}
Criteria criteria = session.createCriteria(User.class);
criteria.add(Restrictions.eq("name", "bob"));
List result = criteria.list();
Iterator it = result.iterator();
while (it.hasNext()) {
User user = (User) it.next();
System.out.println("用户名:" + user.getName());
}
方法 说明
Restrictions.eq() 对应SQL的等于(’=’)
Restrictions.allEq() 使用Map,使用key/value进行多个相等的值的比对
Restrictions.gt() 对应SQL的大于 (‘>’)
Restrictions.ge() 对应SQL的大于等于 (‘>=’)
Restrictions.lt() 对应SQL的小于 (‘<’)
Restrictions.le() 对应SQL的小于等于 (‘<=’)
Restrictions.between() 对应SQL的between子句
Restrictions.like() 对应SQL的like子句
Restrictions.in() 对应SQL的in子句
Restrictions.and() 对应SQL的and
Restrictions.or() 对应SQL的or
Restrictions.not() 对应SQL的not
2、使用Example
House house = new House();
house.setPrice(new Double(2000));
house.setFloorage(new Integer(40));
Criteria criteria = session.createCriteria(House.class);
criteria.add(Example.create(house));
List results = criteria.list();
Iterator it = results.iterator();
while(it.hasNext()){
House h= (House)it.next();
System.out.println("标题:"+h.getTitle()+" 价格"+h.getPrice());
}
3、Criteria查询排序
Criteria 查询不仅能组合出SQL中的where子句的功能,还可以组合出排序查询功能
使用org.hibernate.criterion.Order对结果进行排序
排序的方法为:asc() desc()
Cirteria c=session.createCriteria(House.class);
c.addOrder(Order.desc("price"));
4、Criteria查询实现分页
Criteria的setMaxResult()方法可以限定查询返回数据的行数
Criteria的setFirstResult()设定查询返回结果的第一行数据的位置
Criteria c=session.createCriteria(Hose.class);
c.setFistResult(3);
c.setMaxResult(2);
List result=c.list();
Iterator it=result.iterator();
while(it.hasNext()){
Hose h=it.next();
System.out.println("标题"+h.getTitle+"价格"+h.getPrice());
}
Criteria查询的更多相关文章
- Hibernate框架之Criteria查询 和注解(重点☆☆☆☆☆,难点☆☆☆)
写好一篇博客,不是容易的事.原因是:你要给自己以后看的时候,还能看懂,最重要的是当别人看到你的博客文章的时候,也一样很清楚的明白你自己写的东西.其实这也是一种成就感!! 对于每一个知识点,要有必要的解 ...
- NHibernate系列文章二十三:NHibernate查询之Criteria查询(附程序下载)
摘要 上一篇文章介绍了NHibernate HQL,他的缺点是不能够在编译时发现问题.如果数据库表结构有改动引起了实体关系映射的类有改动,要同时修改这些HQL字符串.这篇文章介绍NHibernate面 ...
- Criteria查询初学者的采纳点哦
一.Hibernate提供了5种检索对象的方式 1.导航对象图检索方式:根据已经加载的对象导航到其他对象 from Emp e group by e.dept.deptName 2.OID检索 ...
- Criteria查询之sqlRestriction()的理解
sqlRestriction()的理解 在Criteria查询中 使用sqlRestriction()方法来提供SQL语法作限定查询,作为where字句 查看官方给的例子,如下 List cats = ...
- Criteria查询数据
Criteria介绍: Criteria查询是Hibernate提供的一种查询方式,与HQL基于字符串的查询形式完全不同.Hibernate提供了org.hiberanee.Criteria 接口.o ...
- Hibernate框架之Criteria查询
首先给大家说说Hibernate检索方式 Hibernate提供了5种检索对象的方式 1.导航对象图检索方式:根据已经加载的对象导航到其他对象 2.OID检索方式:按照对象的OID来检索对象 3.HQ ...
- Hibernate 、Hql查询和Criteria查询
HQL查询: public Object query(String name){ Session s=null; try{ s=HibernateSessionFactory.getSession() ...
- Hibernate框架Criteria查询
本文章适合一些初学者 一.使用Criteria查询数据 1.条件查询 1.1:使用Criteria查询的步骤 1.使用Sess ...
- 第九章 Criteria查询及注解
第九章 Criteria查询及注解9.1 使用Criteria查询数据 9.1.1 条件查询 Criteria查询步骤: 1)使用session接口的cr ...
- hibernate框架学习笔记7:HQL查询、Criteria查询简介
HQL查询:hibernate独有的查询语言 适用于不复杂的多表查询 示例: 实体类: package domain; public class Customer { private Long cus ...
随机推荐
- eclipse 自动生成json格式的toString()方法
文本代码 {"${member.name()}":"${member.value}", "${otherMembers}"}
- Oracle免客户端InstantClient安装使用
正常情况下,用PL/SQL等软件连接Oracle,需要安装Oracle客户端软件,一般安装oracle客户端差不多需要2G左右的硬盘空间,但如果我们仅仅是连接数据库进行查询和执行一些相应的语句而不进行 ...
- Haskell语言学习笔记(41)Parsec(1)
Parsec Parsec是一个词法及语法分析器. 匹配字符与字符串 Prelude Text.Parsec> parseTest anyChar "a" 'a' Prelu ...
- Nunit与Vs 2012配合使用
要使用Nunit首先要去官网 http://www.nunit.org/ 下载Nunit.win .msi是安装版. bin .zip是绿色版. 下载完后安装. 在 VS2012 中使用 Nu ...
- scala spark 调用hivecontext
import org.apache.spark.rdd.RDD def save(data: RDD[ModelReplay], modelKey: String, dt: String): Unit ...
- Ubuntu下Anaconda3的安装
1)去https://www.anaconda.com/download/#download下载Anaconda安装文件(python3.6的版本). 2)进入到Anaconda3-5.0.1-Lin ...
- javascript,排列组合
输入参数 ‘abc',输出所有组合 ['abc','acb','bac','bca','cab','cba'] 思路:分为3列,第一列为 a, b,c :第二列为a,b,c出去第一列选中过后的,比如 ...
- url获取参数
参考http://www.runoob.com/w3cnote/js-get-url-param.html function getQueryVariable(variable) { var quer ...
- 结对项目3-bug的三种状态
这周和小伙伴结对构造程序,来深刻理解软件测试中,bug发现的三种状态. 1:不能触发Fault 2:触发Fault,但是不能触发Error 3:触发Error,但是不能产生Failure 我们完成的代 ...
- springmvc el表达式取值顺序问题
最近遇到一个问题,两次访问同一个controler, 第二次根据判断条件,明明没有设置model的值,在jsp中通过${data}还是能取到值,最后找到原因是 我为了能够加快响应速度,在session ...