hibernate Restrictions 用法 查询
import hibernate classes
![](http://java110eye.iteye.com/images/icon_star.png)
- import org.hibernate.criterion.DetachedCriteria;
- import org.hibernate.criterion.MatchMode;
- import org.hibernate.criterion.Order;
- import org.hibernate.criterion.Restrictions;
![](http://java110eye.iteye.com/images/icon_star.png)
- DetachedCriteria criteria = DetachedCriteria.forClass(UserPO.class);
- // 按照用户名排序 -- 升序
- criteria.addOrder(Order.asc("userName"));
- if (user != null) {
- // 按条件查询
- if (user.getUserName() != null && !user.getUserName().trim().equals("")) {
- criteria.add(Restrictions.like("userName", user.getUserName().trim(), MatchMode.ANYWHERE));
- }
- }
- 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' |
例子:
![](http://java110eye.iteye.com/images/icon_star.png)
- // 查询年龄在20-30岁之间的所有学生对象
- List list = session.createCriteria(Student.class)
- .add(Restrictions.between("age",new Integer(20),new Integer(30)).list();
- // 查询学生姓名在AAA,BBB,CCC之间的学生对象
- String[] names = {"AAA","BBB","CCC"};
- List list = session.createCriteria(Student.class)
- .add(Restrictions.in("name",names)).list();
- // 查询年龄为空的学生对象
- List list = session.createCriteria(Student.class)
- .add(Restrictions.isNull("age")).list();
- // 查询年龄等于20或者年龄为空的学生对象
- List list = session.createCriteria(Student.class)
- .add(Restrictions.or(Restrictions.eq("age",new Integer(20)),
- Restrictions.isNull("age")).list();
or可以无限加
hibernate Restrictions 用法 查询相关推荐
- Hibernate Query数据查询
2019独角兽企业重金招聘Python工程师标准>>> 主要由三种查询:HQL查询.Criteria条件查询.SQL查询. 以下分别讲解 1. HQL查询 HQL(Hibernate ...
- Hibernate之Criteria查询及注解
1. 前言 之前从来没有接触过Hibernate,跳槽之后的公司使用的是Hibernate的Criteria查询.简单整理一下. 2.什么是Criteria查询QBC(Query By Criteri ...
- Hibernate的高级查询1之qbe和qbc
Hibernate的种查询方式 qbe.qbc和hql 先来解释一下什么是Criteria Criteria面向对象化查询接口,将数据查询条件封装为一个对象,可以把它看成传统SQL的对象化表示 这个是 ...
- Hibernate(九)HQL查询
一.Hibernate提供的查询方式 OID查询方式:主键查询.通过get()或者load()方法加载指定OID的对象查询结果为一个 HQL查询方式:通过Query接口使用HQL语言进行查询 QBC查 ...
- Hibernate:SQL查询 addScalar()或addEntity()
Hibernate除了支持HQL查询外,还支持原生SQL查询. 对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQuery()获取这个接口.该 ...
- hibernate mysql 模糊查询_服务器-hibernate操作mysql,模糊查询时中文查不到,数字和英文可以查到...
用hibernate做模糊查询,页面传递参数也处理了乱码 @Action(value="searchNameByad") public String searchNameByad( ...
- Hibernate 笔记 HQL查询
http://www.cnblogs.com/zilong882008/archive/2011/11/05/2237123.html Hibernate 笔记 HQL查询(一)单属性,多属性查询 H ...
- (2)hibernate HQL命名查询和Query接口的分页查询
一 hql命名查询 hibernate中对动态查询参数绑定提供了丰富的支持,那么什么是查询参数动态绑定呢?其实如果我们熟悉传统JDBC编程的话,我们就不难理解查询参数动态绑定,如下代码传统JDBC的 ...
- Hibernate Native SQL查询示例
Hibernate Native SQL查询示例 欢迎使用Hibernate Native SQL Query示例教程.我们在前面的文章中研究了Hibernate查询语言和Hibernate Crit ...
最新文章
- 设计模式C#描述——抽象工厂模式
- 既然有 GC 机制,为什么还会有内存泄露的情况
- android support design library eclipse,Eclipse下使用Android Design Support Library中的控件
- IOS沙盒中的Documents、Library、tmp区别
- java set集合转数组_java set转list,数组与list的转换
- java socket 回调函数_请问Java网络编程如何在不使用多线程的情况下实现异步返回?...
- oracle游标缓存,【oracle】游标——数据的缓存区
- 官方文档Linux自动发现:磁盘、进程、TCP/UDP服务
- db2的jdbc驱动
- 适合新手画PCB线路板的四个软件 2021-10-14
- 实施ERP管理系统的流程有哪些
- android wps mac 下载地址,wps for mac下载
- DS18B20数字温度计 (二) 测温, ROM和CRC算法
- 四、守护线程 deamon
- python画正方形-用python画一个正方形
- 【新书推荐】【2019.06】大局观从何而来
- 惯性导航(IMU)误差分析
- cuda中pinned memory(page-locked memory)
- a标签去下划线 菜鸟教程_HTML下划线标签示例教程
- 看看乔帮主留下的世界
热门文章
- Signal和Slot是同步的还是异步的
- 今年考了N3也不知道能不能过
- Qt在线/离线安装包下载网址和说明
- Velocity 模板引擎介绍
- T-SQL:毕业生出门需知系列(七)
- ubuntu server执行sudo出现no talloc stackframe at ../source3/param/loadparm.c:4864, leaking memory...
- 全网最全Python爬虫工具使用指南
- 【传输文件】文件传输协议FTP、SFTP和SCP
- 微信公众号开发之授权获取用户信息
- 上传docker镜像到hub.docker