java restrictions_Restrictions----用法
----------------------------------------方法说明
--------------------------QBC常用限定方法-----------------------------------
Restrictions.eq --------------------------------------> equal,等于.
Restrictions.ne --------------------------------------> not-equals,不等于
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 ----------------------------------> 判断属性是否为空,为空则返回true
Restrictions.isNotNull -----------------------------> 与isNull相反
Restrictions.sqlRestriction -----------------------> SQL限定的查询
Order.asc ---------------------------------------------> 根据传入的字段进行升序排序
Order.desc -------------------------------------------> 根据传入的字段进行降序排序
MatchMode.EXACT -------------------------------> 字符串精确匹配.相当于"like 'value'"
MatchMode.ANYWHERE -----------------------> 字符串在中间匹配.相当于"like '%value%'"
MatchMode.START ------------------------------> 字符串在最前面的位置.相当于"like 'value%'"
MatchMode.END ---------------------------------> 字符串在最后面的位置.相当于"like '%value'"
1 importjava.util.ArrayList;2 importjava.util.HashMap;3 importjava.util.List;4 importjava.util.Map;5 importjava.util.Set;6 importjava.util.TreeSet;7 importorg.hibernate.Criteria;8 importorg.hibernate.Hibernate;9 importorg.hibernate.criterion.MatchMode;10 importorg.hibernate.criterion.Order;11 importorg.hibernate.criterion.Restrictions;12 importcom.happy.dao.BaseHibernateDAO;13 importcom.happy.entity.AwardNums;14 importcom.happy.test.util.HandleList;15 public class Restriction extendsBaseHibernateDAO {16 public static voidmain(String[] args) {17 Restriction query = newRestriction();18 query.query();19 }20 @SuppressWarnings("unchecked")21 public voidqueryAlias() {22 Criteria criteria = getSession().createCriteria(AwardNums.class);23 //获取别名:eg:this
24 System.out.println(criteria.getAlias());25 HandleList.print(criteria.list());26 }27 @SuppressWarnings("unchecked")28 public voidqueryOrder() {29 Criteria criteria = getSession().createCriteria(AwardNums.class);30 criteria.addOrder(Order.desc("id"));31 HandleList.print(criteria.list());32 }33 @SuppressWarnings("unchecked")34 public voidqueryBetween() {35 Criteria criteria = getSession().createCriteria(AwardNums.class);36 //第一个参数是属性,第一个是小的数值,第三个是大的数值
37 criteria.add(Restrictions.between("id", 17720820, 17720830));38 HandleList.print(criteria.list());39 }40 @SuppressWarnings("unchecked")41 public voidqueryIdEq() {42 Criteria criteria = getSession().createCriteria(AwardNums.class);43 //id=17720820
44 criteria.add(Restrictions.idEq(17720820));45 HandleList.print(criteria.list());46 }47 @SuppressWarnings("unchecked")48 public voidqueryIlike() {49 Criteria criteria = getSession().createCriteria(AwardNums.class);50 //忽略大小写,05结束的
51 criteria.add(Restrictions.ilike("numbers", "05", MatchMode.END));52 HandleList.print(criteria.list());53 }54 @SuppressWarnings("unchecked")55 public voidqueryLike() {56 Criteria criteria = getSession().createCriteria(AwardNums.class);57 //05介绍的
58 criteria.add(Restrictions.like("numbers", "05", MatchMode.END));59 HandleList.print(criteria.list());60 }61 @SuppressWarnings("unchecked")62 public voidqueryLike2() {63 Criteria criteria = getSession().createCriteria(AwardNums.class);64 //05开始的
65 criteria.add(Restrictions.like("numbers", "05%"));66 HandleList.print(criteria.list());67 }68 @SuppressWarnings("unchecked")69 public voidqueryInArray() {70 Criteria criteria = getSession().createCriteria(AwardNums.class);71 //new int[]错误的
72 Integer[] arrInt = new Integer[] { 17720808, 17720809, 17720810};73 criteria.add(Restrictions.in("id", arrInt));74 HandleList.print(criteria.list());75 }76 @SuppressWarnings("unchecked")77 public voidqueryInList() {78 Criteria criteria = getSession().createCriteria(AwardNums.class);79 //new int[]错误的
80 List list = new ArrayList();81 list.add(17720808);82 list.add(17720809);83 list.add(17720810);84 criteria.add(Restrictions.in("id", list));85 HandleList.print(criteria.list());86 }87 @SuppressWarnings("unchecked")88 public voidqueryInSet() {89 Criteria criteria = getSession().createCriteria(AwardNums.class);90 //new int[]错误的
91 Set set = new TreeSet();92 set.add(17720808);93 set.add(17720809);94 set.add(17720810);95 criteria.add(Restrictions.in("id", set));96 HandleList.print(criteria.list());97 }98 @SuppressWarnings("unchecked")99 public voidqueryInMap() {100 Criteria criteria = getSession().createCriteria(AwardNums.class);101 Map map = new HashMap();102 //String不能命名重复,否者会过滤重复的
103 map.put("1", 17720808);104 map.put("2", 17720809);105 map.put("3", 17720810);106 criteria.add(Restrictions.in("id", map.values()));107 HandleList.print(criteria.list());108 }109 @SuppressWarnings("unchecked")110 public voidqueryIsEmpty() {111 Criteria criteria = getSession().createCriteria(AwardNums.class);112 //Property path [com.happy.entity.AwardNums.issue] does not reference a113 //collection
114 criteria.add(Restrictions.isEmpty("issue"));115 HandleList.print(criteria.list());116 }117 @SuppressWarnings("unchecked")118 public voidqueryIsNotEmpty() {119 Criteria criteria = getSession().createCriteria(AwardNums.class);120 //Property path [com.happy.entity.AwardNums.issue] does not reference a121 //collection
122 criteria.add(Restrictions.isNotEmpty("issue"));123 HandleList.print(criteria.list());124 }125 @SuppressWarnings("unchecked")126 public voidqueryIsNull() {127 Criteria criteria = getSession().createCriteria(AwardNums.class);128 //this_.id is null
129 criteria.add(Restrictions.isNull("id"));130 HandleList.print(criteria.list());131 }132 @SuppressWarnings("unchecked")133 public voidqueryIsNotNull() {134 Criteria criteria = getSession().createCriteria(AwardNums.class);135 //this_.id is not null
136 criteria.add(Restrictions.isNotNull("id"));137 HandleList.print(criteria.list());138 }139 @SuppressWarnings("unchecked")140 public voidquerySizeEq() {141 Criteria criteria = getSession().createCriteria(AwardNums.class);142 //Unknown collection role: com.happy.entity.AwardNums.id
143 criteria.add(Restrictions.sizeEq("id", 15));144 HandleList.print(criteria.list());145 }146 @SuppressWarnings("unchecked")147 public voidquerySqlRestriction() {148 Criteria criteria = getSession().createCriteria(AwardNums.class);149 String alias =criteria.getAlias();150 //_很重要的
151 criteria.add(Restrictions.sqlRestriction(alias + "_.id < 17720812"));152 HandleList.print(criteria.list());153 }154 @SuppressWarnings("unchecked")155 public voidquerySqlRestrictionEasy() {156 Criteria criteria = getSession().createCriteria(AwardNums.class);157 //{alias}.id
158 criteria.add(Restrictions.sqlRestriction("{alias}.id < 17720812"));159 HandleList.print(criteria.list());160 }161 @SuppressWarnings("unchecked")162 public voidquerySqlRestrictionType() {163 Criteria criteria = getSession().createCriteria(AwardNums.class);164 //lower(this_.numbers) like lower(?)
165 criteria.add(Restrictions166 .sqlRestriction("lower({alias}.numbers) like lower(?)", "%09",167 Hibernate.STRING));168 HandleList.print(criteria.list());169 }170 @SuppressWarnings("unchecked")171 public voidqueryConjunction() {172 Criteria criteria = getSession().createCriteria(AwardNums.class);173 //永真情况下查询
174 criteria.add(Restrictions.conjunction());175 HandleList.print(criteria.list());176 }177 @SuppressWarnings("unchecked")178 public voidqueryDisjunction() {179 Criteria criteria = getSession().createCriteria(AwardNums.class);180 //永真情况下查询
181 criteria.add(Restrictions.disjunction());182 HandleList.print(criteria.list());183 }184 @SuppressWarnings("unchecked")185 public voidqueryNaturalId() {186 Criteria criteria = getSession().createCriteria(AwardNums.class);187 //永真情况下查询
188 criteria.add(Restrictions.naturalId());189 HandleList.print(criteria.list());190 }191 @SuppressWarnings("unchecked")192 public voidqueryCompare() {193 Criteria criteria = getSession().createCriteria(AwardNums.class);194 //this_.id=? eq&&ne this_.id<>?
195 criteria.add(Restrictions.eq("id", 17719845));196 //this_.id>=? ge&&le this_.id<=?
197 criteria.add(Restrictions.ge("id", 17719845));198 //this_.id>? gt&< this_.id
199 criteria.add(Restrictions.gt("id", 17719845));200 //this_.id<=?
201 criteria.add(Restrictions.le("id", 17719845));202 //this_.id
203 criteria.add(Restrictions.lt("id", 17719845));204 //this_.id<>?
205 criteria.add(Restrictions.ne("id", 17719845));206 HandleList.print(criteria.list());207 }208 @SuppressWarnings("unchecked")209 public voidqueryCompareProperty() {210 Criteria criteria = getSession().createCriteria(AwardNums.class);211 //this_.issue=this_.numbers eq&&ne this_.id<>?
212 criteria.add(Restrictions.eqProperty("id", "issue"));213 //this_.id>=this_.issue ge&&le this_.id<=?
214 criteria.add(Restrictions.geProperty("id", "issue"));215 //this_.id>this_.issue gt&< this_.id
216 criteria.add(Restrictions.gtProperty("id", "issue"));217 //this_.id<=this_.issue
218 criteria.add(Restrictions.leProperty("id", "issue"));219 //this_.id
220 criteria.add(Restrictions.ltProperty("id", "issue"));221 //this_.id<>this_.issue
222 criteria.add(Restrictions.neProperty("id", "issue"));223 HandleList.print(criteria.list());224 }225 @SuppressWarnings("unchecked")226 public voidqueryOr() {227 Criteria criteria = getSession().createCriteria(AwardNums.class);228 //或者查询
229 criteria.add(Restrictions.or(Restrictions.eq("id", 17719845),230 Restrictions.eq("id", 17719846)));231 HandleList.print(criteria.list());232 }233 @SuppressWarnings("unchecked")234 public voidqueryAnd() {235 Criteria criteria = getSession().createCriteria(AwardNums.class);236 //并且查询
237 criteria.add(Restrictions.and(Restrictions.eq("id", 17719845),238 Restrictions.eq("issue", "2011100")));239 HandleList.print(criteria.list());240 }241 @SuppressWarnings("unchecked")242 public voidquery() {243 Criteria criteria = getSession().createCriteria(AwardNums.class);244 //排除查询
245 criteria.add(Restrictions.not(Restrictions.eq("id", 17719841)));246 HandleList.print(criteria.list());247 }248 }
java restrictions_Restrictions----用法相关推荐
- java resume过时方法_学点开发|关于Java多线程用法解析
在进行学习之前,我们先来了解下,什么是Java多线程: 多线程是实现并发机制的一种有效手段.进程和线程一样,都是实现并发的一个基本单位.为了让大家更清晰读懂关于Java多线程用法,由以下几点入手学,帮 ...
- java正则表达式用法示例_Java正则表达式教程及示例
java正则表达式用法示例 当我开始使用Java时,正则表达式对我来说是一场噩梦. 本教程旨在帮助您掌握Java正则表达式,并让我定期返回以刷新我的正则表达式学习. 什么是正则表达式? 正则表达式定义 ...
- java list用法_Java List 用法详解及实例分析
Java List 用法详解及实例分析 Java中可变数组的原理就是不断的创建新的数组,将原数组加到新的数组中,下文对Java List用法做了详解. List:元素是有序的(怎么存的就怎么取出来,顺 ...
- java反射用法示例_Java包| 类型,用法,示例
java反射用法示例 配套 (Packages) Packages in Java is simply a mechanism to encapsulate (i.e. to put in a sho ...
- java反射用法示例_Java反射示例教程
java反射用法示例 Java Reflection provides ability to inspect and modify the runtime behavior of applicatio ...
- Java SimpleDateFormat用法
1. SimpleDateFormat类 SimpleDateFormat是一个日期格式化类,用来格式化日期. // 构造方法 public SimpleDateFormat(String patte ...
- Java split()用法,使用特殊字符要注意了
Java split()用法,使用特殊字符要使用转义字符. 特殊字符有 * ^ : | . \ 1.单个符号作为分隔符 特殊符号* .split("\\*"); 特殊符号^ .s ...
- Java Calendar用法
1. Calendar初始化 Calendar calendar = Calendar.getInstance(); 默认返回GregorianCalendar实例,在GregorianCalenda ...
- Java Formatter用法
1. Formatter类 1.1 使用方法 Formatter formatter = new Formatter([destination]); formatter.format(String f ...
- java sftp.mkdir 报错,java mkdir用法
java mkdir用法 [2021-02-10 09:22:55] 简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace("/( ...
最新文章
- 一份来自大厂算法工程师的求职宝典
- 「吐血」我把大学4年、研究生3年的全部学习资源都分享在这里了
- 卧槽!面试官 5 连问一个 TCP 连接可以发多少个 HTTP 请求?
- Android获取网络状态
- 使用 Java 配置进行 Spring bean 管理
- 搭建hbase-0.94.26集群环境
- python多线程运用
- 5G浪潮推动 射频产业风起云涌
- sql中去掉字段的所有空格
- 学习笔记(13):组合不同类型的数据
- 表格(table)不被撑开的解决办法
- 电脑如何分盘win10_电脑Win10系统如何一键进入BIOS?
- 构建REST风格的Web Service (转)
- Oracle数据库多语言文字存储解决方案
- linux安装思源字体下载,fedora25安装字体-以思源字体为例 适合中文用户
- 计算机组成原理-概述篇
- Android之远程查看异常崩溃信息——腾讯Bugly的自动集成
- Spring Security Oauth2 令牌增加额外信息
- contiki仿真模拟器cooja的使用
- 华中科技大学2019年计算机录取分数线,2019华中科技大学录取分数线
热门文章
- 设计师吃饭的家伙还问别人要?必要软件、效率工具、插件搜集给你
- UI设计师应该知道的汉字体种类的用途(免费素材)
- java qrious 二维码中文无反应_来了来了,今天的苹果限免应用刚刚出炉,8款APP在App Store限时免费啦!手慢无~...
- C++计算函数执行时间的两种方法
- CentOS录屏快捷键
- Linux内存管理:ARM64体系结构与编程之cache(2):cache一致性
- 关于布隆过滤器的所有信息:利用Hash实现的索引方案
- 搞懂Linux零拷贝,DMA
- linux跑程序内存不够,linux 未跑程序 内存 cache使用过大(示例代码)
- wpf label字体为斜体_2020年趋势:20款流行字体大预测