hibernate criteria中Restrictions的用法
来源:互联网 发布:胸痛数据填报 编辑:程序博客网 时间:2024/06/05 04:06
hibernate criteria中Restrictions的用法
HQL运算符
QBC运算符
含义
=
Restrictions.eq()
等于equal
<>
Restrictions.ne()
不等于not equal
>
Restrictions.gt()
大于greater than
>=
Restrictions.ge()
大于等于greater than or equal
<
Restrictions.lt()
小于less than
<=
Restrictions.le()
小于等于less than or equal
is null
Restrictions.isnull()
等于空值
is not null
Restrictions.isNotNull()
非空值
like
Restrictions.like()
字符串模式匹配
and
Restrictions.and()
逻辑与
and
Restrictions.conjunction()
逻辑与
or
Restrictions.or()
逻辑或
or
Restrictions.disjunction()
逻辑或
not
Restrictions.not()
逻辑非
in(列表)
Restrictions.in()
等于列表中的某一个值
not in(列表)
Restrictions.not(Restrictions.in())
不等于列表中任意一个值
between x and y
Restrictions.between()
闭区间xy中的任意值
not between x and y
Restrictions.not(Restrictions..between())
小于值X或者大于值
- 例子
- 查询年龄在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();
- --------------------------------------------------------------------
- 使用QBC实现动态查询
- public List findStudents(String name,int age){
- Criteria criteria = session.createCriteria(Student.class);
- if(name != null){
- criteria.add(Restrictions.liek("name",name,MatchMode.ANYWHERE));
- }
- if(age != 0){
- criteria.add(Restrictions.eq("age",new Integer(age)));
- }
- criteria.addOrder(Order.asc("name"));//根据名字升序排列
- return criteria.list();
- }
- -----------------------------------------------------------------------------------
- 今天用了写hibernate高级查询时用了Restrictions(当然Expression也是可以以的)这个类.感觉不错.
- 下面的代码写的不易读.其实核心就是一句
- Restrictions.or(Restrictions.like(),Restrictions.or(Restrictions.like,........))
- 里面的or可以无限加的.还是比较好用
- Session session = getHibernateTemplate().getSessionFactory()
- .openSession();
- Criteria criteria = session.createCriteria(Film.class);
- List<Film> list = criteria.add(
- Restrictions.or(Restrictions.like("description", key,MatchMode.ANYWHERE),
- Restrictions.or(Restrictions.like("name", key,MatchMode.ANYWHERE),
- Restrictions.or( Restrictions.like("direct", key,MatchMode.ANYWHERE),
- Restrictions.or(Restrictions.like("mainplay",key,MatchMode.ANYWHERE),
- Restrictions.like("filearea", key,MatchMode.ANYWHERE)))))).list();
- session.close();
- return list;
0 0
- hibernate criteria中Restrictions的用法
- hibernate criteria中Restrictions的用法
- hibernate criteria中Restrictions的用法
- hibernate criteria中Restrictions的用法
- hibernate criteria中Restrictions的用法
- hibernate中Restrictions的用法
- hibernate的Restrictions Criteria 的Restrictions Restrictions的方法说明
- hibernate中Restrictions用法
- Hibernate 的Restrictions用法
- Hibernate 的Restrictions用法
- Hibernate的Restrictions用法
- Hibernate中Criteria的用法
- Hibernate中Criteria的用法
- Hibernate中Criteria的用法
- hibernate中criteria的用法
- Hibernate中Criteria的用法
- hibernate中criteria的用法
- Hibernate中Criteria的用法
- 1021. Couples
- ZCMU—1037
- PHP实现将浏览历史页面
- Flesch Reading Ease poj 3371 模拟
- noclobber属性
- hibernate criteria中Restrictions的用法
- 希尔排序(Shell Sort)
- 整理06 字符集过滤器 Spring MVC
- 完工一个小东西,有需要的可以预订了啊,价格可商议
- VMare虚拟机详细安装图解
- 人生的叹息
- VS2013永久配置opencv3.0
- 今天心情不错
- BeanUtil工具类的使用