Hibernate的检索方式(二)
来源:互联网 发布:南卫理公会大学知乎 编辑:程序博客网 时间:2024/06/05 15:25
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://aumy2008.blogbus.com/logs/13887948.html
二.设定查询条件
在where子句中给出的是对象的属性名,而不是字段名。
HQL和QBC支持的各种运算
运算类型
HQL运算符
QBC运算符
含义
比较运算
=
Expression.eq()
等于
<>Expression.not(Expression.eq())
不等于
>Expression.gt()
大于
>=
Expression.ge()
大于等于
<Expression.lt()
小于
<=
Expression.le()
小于等于
is null
Expression.isNull()
等于空值
is not null
Expression.isNotNull()
非空值
范围运算
in (列表)
Expression.in()
等于列表中的某一个值
not in (列表)
Expression.not(Expression.in())
不等于列表中的任意一个值
between 值1 and值2
Expression.between()
大于等于值1并且小于等于值2
not between 值1 and值2
Expression.not(Expression.between())
小于值1或者大于值2
字符串模式匹配
like
Expression.like()字符串模式匹配
逻辑运算
and
Expression.add()或者Expression.conjunction()逻辑与
or
Expression.or()或者Expression.disjunction()逻辑或
not
Expression.not()逻辑非
1、比较运算(1)不区分大小写:HQL使用lower()或者 upper()来实现(如:”…lower(c.name)=’tom’”);
QBC使用.ignoreCase()来实现(如:Expression.eq(“”,””) .ignoreCase())。
注:在HQL中,可以调用SQL函数。lower()转小写,upper()转大写。
QBC不支持直接调用SQL函数。
(2)HQL查询支持数学运算表达式,而QBC不支持。
2、范围运算
HQL中的in示例: c.name in (‘aa’,’bb’);
QBC中的in示例: String[] names={‘aa’,’bb’}; Expression.in(‘name’,names); 。
3、字符串模式匹配
HQL和QBC通用:字符串模式中的通配符
通配符名称
通配符
作用
百分号
%
匹配任意类型且任意长度(长度可以为0)的字符串,如果是中文,需要两个百分号,即“%%”
下划线
_
匹配单个任意字符,常用来限制字符串表达式的长度
QBC:MatchMode类包含的各个静态常量实例
匹配模式
举例
MatchMode.START
Expression.like(“name”,”y”, MatchMode.START)
姓名以y开头
MatchMode.END
Expression.like(“name”,”y”, MatchMode. END)
姓名以y结尾
MatchMode.ANYWHERE
Expression.like(“name”,”y”, MatchMode. ANYWHERE)
姓名中包含y
MatchMode.EXACT
Expression.like(“name”,”y”, MatchMode. EXACT)
精确匹配,姓名必须为y
4、逻辑运算
待续!
- Hibernate的检索方式(二)
- Hibernate的检索方式(二)
- Hibernate的检索方式详解(二)
- Hibernate检索方式(二)
- hibernate的检索方式
- Hibernate的检索方式
- Hibernate的检索方式
- Hibernate 的检索方式
- Hibernate的检索方式
- Hibernate的检索方式
- Hibernate的检索方式
- Hibernate的检索方式
- Hibernate的检索方式
- Hibernate的检索方式
- Hibernate的检索方式
- hibernate的检索方式
- Hibernate的检索方式
- Hibernate的检索方式
- c#——转义符"\""
- Linux crontab 自动定时执行命令学习
- LinkedHashMap 的介绍
- 更新引发的问题
- 通过本地上传工具把CSV文件导入到百会报表
- Hibernate的检索方式(二)
- Hibernate的检索方式(三)
- MVVM :How to select multiple items in listbox
- 怎样做才能成为程序员高手
- 查询Oracle当前登录用户的所有权限
- 如何获取StatusBar的高度(Android平台)
- Hibernate的检索方式(四)
- CriticalSection
- Hibernate的检索方式(五)