----------------------------------------方法说明

--------------------------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&&lt 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&&lt 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----用法相关推荐

  1. java resume过时方法_学点开发|关于Java多线程用法解析

    在进行学习之前,我们先来了解下,什么是Java多线程: 多线程是实现并发机制的一种有效手段.进程和线程一样,都是实现并发的一个基本单位.为了让大家更清晰读懂关于Java多线程用法,由以下几点入手学,帮 ...

  2. java正则表达式用法示例_Java正则表达式教程及示例

    java正则表达式用法示例 当我开始使用Java时,正则表达式对我来说是一场噩梦. 本教程旨在帮助您掌握Java正则表达式,并让我定期返回以刷新我的正则表达式学习. 什么是正则表达式? 正则表达式定义 ...

  3. java list用法_Java List 用法详解及实例分析

    Java List 用法详解及实例分析 Java中可变数组的原理就是不断的创建新的数组,将原数组加到新的数组中,下文对Java List用法做了详解. List:元素是有序的(怎么存的就怎么取出来,顺 ...

  4. java反射用法示例_Java包| 类型,用法,示例

    java反射用法示例 配套 (Packages) Packages in Java is simply a mechanism to encapsulate (i.e. to put in a sho ...

  5. java反射用法示例_Java反射示例教程

    java反射用法示例 Java Reflection provides ability to inspect and modify the runtime behavior of applicatio ...

  6. Java SimpleDateFormat用法

    1. SimpleDateFormat类 SimpleDateFormat是一个日期格式化类,用来格式化日期. // 构造方法 public SimpleDateFormat(String patte ...

  7. Java split()用法,使用特殊字符要注意了

    Java split()用法,使用特殊字符要使用转义字符. 特殊字符有 * ^ : | . \ 1.单个符号作为分隔符  特殊符号* .split("\\*"); 特殊符号^ .s ...

  8. Java Calendar用法

    1. Calendar初始化 Calendar calendar = Calendar.getInstance(); 默认返回GregorianCalendar实例,在GregorianCalenda ...

  9. Java Formatter用法

    1. Formatter类 1.1 使用方法 Formatter formatter = new Formatter([destination]); formatter.format(String f ...

  10. java sftp.mkdir 报错,java mkdir用法

    java mkdir用法 [2021-02-10 09:22:55]  简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace("/( ...

最新文章

  1. 一份来自大厂算法工程师的求职宝典
  2. 「吐血」我把大学4年、研究生3年的全部学习资源都分享在这里了
  3. 卧槽!面试官 5 连问一个 TCP 连接可以发多少个 HTTP 请求?
  4. Android获取网络状态
  5. 使用 Java 配置进行 Spring bean 管理
  6. 搭建hbase-0.94.26集群环境
  7. python多线程运用
  8. 5G浪潮推动 射频产业风起云涌
  9. sql中去掉字段的所有空格
  10. 学习笔记(13):组合不同类型的数据
  11. 表格(table)不被撑开的解决办法
  12. 电脑如何分盘win10_电脑Win10系统如何一键进入BIOS?
  13. 构建REST风格的Web Service (转)
  14. Oracle数据库多语言文字存储解决方案
  15. linux安装思源字体下载,fedora25安装字体-以思源字体为例 适合中文用户
  16. 计算机组成原理-概述篇
  17. Android之远程查看异常崩溃信息——腾讯Bugly的自动集成
  18. Spring Security Oauth2 令牌增加额外信息
  19. contiki仿真模拟器cooja的使用
  20. 华中科技大学2019年计算机录取分数线,2019华中科技大学录取分数线

热门文章

  1. 设计师吃饭的家伙还问别人要?必要软件、效率工具、插件搜集给你
  2. UI设计师应该知道的汉字体种类的用途(免费素材)
  3. java qrious 二维码中文无反应_来了来了,今天的苹果限免应用刚刚出炉,8款APP在App Store限时免费啦!手慢无~...
  4. C++计算函数执行时间的两种方法
  5. CentOS录屏快捷键
  6. Linux内存管理:ARM64体系结构与编程之cache(2):cache一致性
  7. 关于布隆过滤器的所有信息:利用Hash实现的索引方案
  8. 搞懂Linux零拷贝,DMA
  9. linux跑程序内存不够,linux 未跑程序 内存 cache使用过大(示例代码)
  10. wpf label字体为斜体_2020年趋势:20款流行字体大预测