import hibernate classes

Java代码  
  1. import org.hibernate.criterion.DetachedCriteria;
  2. import org.hibernate.criterion.MatchMode;
  3. import org.hibernate.criterion.Order;
  4. import org.hibernate.criterion.Restrictions;
Java代码  
  1. DetachedCriteria criteria = DetachedCriteria.forClass(UserPO.class);
  2. // 按照用户名排序 -- 升序
  3. criteria.addOrder(Order.asc("userName"));
  4. if (user != null) {
  5. // 按条件查询
  6. if (user.getUserName() != null && !user.getUserName().trim().equals("")) {
  7. criteria.add(Restrictions.like("userName", user.getUserName().trim(), MatchMode.ANYWHERE));
  8. }
  9. }
  10. getHibernateTemplate().findByCriteria(criteria ); // 返回LIST

Restrictions 的用法:

1、Restrictions

方法 说明
Restrictions.eq equal 等于 ==
Restrictions.allEq 参数为Map对象,使用key/value进行多个等于的对比,相当于多个Restrictions.eq的效果
Restrictions.gt great than 大于 >
Restrictions.ge great equal 大于等于 >=
Restrictions.lt less than 小于 <
Restrictions.le less equal 小于等于 <=
Restrictions.between 对应SQL的between子句
Restrictions.like 对应SQL的like子句
Restrictions.in 对应SQL的in子句
Restrictions.and and 关系
Restrictions.or or 关系
Restrictions.isNull 判断属性是否为null,为空则返回true
Restrictions.sqlRestriction SQL限定的查询

2、Order

Order.asc 根据传入的字段进行升序排序
Order.desc                             降序

3、MatchMode

MatchMode.EXACT 字符串精确匹配,相当于: like 'value'
MatchMode.ANYWHERE                    字符串在中间匹配 like '%value%'
MatchMode.START 匹配前面 like 'value%'
MatchMode.END like '%value'

例子:

Java代码  
  1. // 查询年龄在20-30岁之间的所有学生对象
  2. List list = session.createCriteria(Student.class)
  3. .add(Restrictions.between("age",new Integer(20),new Integer(30)).list();
  4. // 查询学生姓名在AAA,BBB,CCC之间的学生对象
  5. String[] names = {"AAA","BBB","CCC"};
  6. List list = session.createCriteria(Student.class)
  7. .add(Restrictions.in("name",names)).list();
  8. // 查询年龄为空的学生对象
  9. List list = session.createCriteria(Student.class)
  10. .add(Restrictions.isNull("age")).list();
  11. // 查询年龄等于20或者年龄为空的学生对象
  12. List list = session.createCriteria(Student.class)
  13. .add(Restrictions.or(Restrictions.eq("age",new Integer(20)),
  14. Restrictions.isNull("age")).list();

or可以无限加

hibernate Restrictions 用法 查询相关推荐

  1. Hibernate Query数据查询

    2019独角兽企业重金招聘Python工程师标准>>> 主要由三种查询:HQL查询.Criteria条件查询.SQL查询. 以下分别讲解 1. HQL查询 HQL(Hibernate ...

  2. Hibernate之Criteria查询及注解

    1. 前言 之前从来没有接触过Hibernate,跳槽之后的公司使用的是Hibernate的Criteria查询.简单整理一下. 2.什么是Criteria查询QBC(Query By Criteri ...

  3. Hibernate的高级查询1之qbe和qbc

    Hibernate的种查询方式 qbe.qbc和hql 先来解释一下什么是Criteria Criteria面向对象化查询接口,将数据查询条件封装为一个对象,可以把它看成传统SQL的对象化表示 这个是 ...

  4. Hibernate(九)HQL查询

    一.Hibernate提供的查询方式 OID查询方式:主键查询.通过get()或者load()方法加载指定OID的对象查询结果为一个 HQL查询方式:通过Query接口使用HQL语言进行查询 QBC查 ...

  5. Hibernate:SQL查询 addScalar()或addEntity()

      Hibernate除了支持HQL查询外,还支持原生SQL查询. 对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQuery()获取这个接口.该 ...

  6. hibernate mysql 模糊查询_服务器-hibernate操作mysql,模糊查询时中文查不到,数字和英文可以查到...

    用hibernate做模糊查询,页面传递参数也处理了乱码 @Action(value="searchNameByad") public String searchNameByad( ...

  7. Hibernate 笔记 HQL查询

    http://www.cnblogs.com/zilong882008/archive/2011/11/05/2237123.html Hibernate 笔记 HQL查询(一)单属性,多属性查询 H ...

  8. (2)hibernate HQL命名查询和Query接口的分页查询

    一  hql命名查询 hibernate中对动态查询参数绑定提供了丰富的支持,那么什么是查询参数动态绑定呢?其实如果我们熟悉传统JDBC编程的话,我们就不难理解查询参数动态绑定,如下代码传统JDBC的 ...

  9. Hibernate Native SQL查询示例

    Hibernate Native SQL查询示例 欢迎使用Hibernate Native SQL Query示例教程.我们在前面的文章中研究了Hibernate查询语言和Hibernate Crit ...

最新文章

  1. 设计模式C#描述——抽象工厂模式
  2. 既然有 GC 机制,为什么还会有内存泄露的情况
  3. android support design library eclipse,Eclipse下使用Android Design Support Library中的控件
  4. IOS沙盒中的Documents、Library、tmp区别
  5. java set集合转数组_java set转list,数组与list的转换
  6. java socket 回调函数_请问Java网络编程如何在不使用多线程的情况下实现异步返回?...
  7. oracle游标缓存,【oracle】游标——数据的缓存区
  8. 官方文档Linux自动发现:磁盘、进程、TCP/UDP服务
  9. db2的jdbc驱动
  10. 适合新手画PCB线路板的四个软件 2021-10-14
  11. 实施ERP管理系统的流程有哪些
  12. android wps mac 下载地址,wps for mac下载
  13. DS18B20数字温度计 (二) 测温, ROM和CRC算法
  14. 四、守护线程 deamon
  15. python画正方形-用python画一个正方形
  16. 【新书推荐】【2019.06】大局观从何而来
  17. 惯性导航(IMU)误差分析
  18. cuda中pinned memory(page-locked memory)
  19. a标签去下划线 菜鸟教程_HTML下划线标签示例教程
  20. 看看乔帮主留下的世界

热门文章

  1. Signal和Slot是同步的还是异步的
  2. 今年考了N3也不知道能不能过
  3. Qt在线/离线安装包下载网址和说明
  4. Velocity 模板引擎介绍
  5. T-SQL:毕业生出门需知系列(七)
  6. ubuntu server执行sudo出现no talloc stackframe at ../source3/param/loadparm.c:4864, leaking memory...
  7. 全网最全Python爬虫工具使用指南
  8. 【传输文件】文件传输协议FTP、SFTP和SCP
  9. 微信公众号开发之授权获取用户信息
  10. 上传docker镜像到hub.docker