import hibernate classes
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
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' |
例子:
// 查询年龄在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可以无限加
.
分享到:
相关推荐
。。。
。。。
Example em=Example.create(student).setPropertySelector(new EmptyStringSelector()); List list =session.createCriteria(Student.class).add... .add(Restrictions.between("birthday", date1, date2)) .list();
Dynamic IP Restrictions: 保護 IIS 網站的流量守門員 iis 插件
PDF文档有时不能复制,粘贴,可能是因为屏蔽了复制功能,A-PDF Restrictions Remover可以解除这种屏蔽
To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain ...
Restrictions方法分页方法一些集合
A-pdf Restrictions Remover 是一款破解PDF密码限制的软件 这个事A-pdf Restrictions Remover 的破解版。。。 真绕口 把补丁rar解压到其他文件一起,然后用loadX或loadA,loadT(因系统而定)
support simple JP-QL queries (restrictions and many-to-one joins) The medium target is: support other key/value stores support other NoSQL families support complex joins and aggregations The project...
jar包:项目中除了使用了struts2,hibernate3.0和spring1.8以外(用spring2.0的包也可以.不能低于1.8的包.)还是用了junit,ajax,第三方的table组件.等等.所以需要下载相对应的包. 为了上传jar.我专门申请了一个网盘.所有...
"IP and domain restrictions" 是IIS提供的一个特性,提供了黑白名单,来限制用户对web资源的访问。由于没有合适的对比"IP and domain restriction" filtering list 与客户外部请求,导致攻击者可以构造特定的请求...
NULL 博文链接:https://caohong286.iteye.com/blog/1332905
ssh补充资料,PPT,文档,练习等 Hibernate对象条件查询: 查询通过如下三个类获取: Criteria 代表一次查询 Criterion 代表一个查询条件 Restrictions 产生查询条件的工具类
Quantum Complexity restrictions on algorithms and architectures 【PhD 】
去除PDF 文件不让打印
Oracle_start_with_connect_by_prior_用法[文].pdf
Smoothing and Regression Approaches, Computation, and Application
它可以使用不限数量的线程来完成此过程。 安装 apt包即将推出 从源编译 确保在计算机上安装了gcc(4.7或更高版本),make,openssl和openssl-dev(仅Linux,macOS请参见 。此问题将在以后的版本中修复) sudo apt ...
Hibernate的Criteria的条件添加 4、添加多个or //创建Criteria查询 Criteria c = super.getSession().createCriteria(Searchinfo.class); //构造函数 or Criterion ce = null ; for(String list:lists){ if...