1. /s筛选去除无效数据
  2. /*      detachedCriteria.add(
  3. Restrictions.or(
  4. Restrictions.like("chanpin", "冰箱", MatchMode.ANYWHERE),
  5. Restrictions.or(
  6. Restrictions.like("chanpin", "洗衣机", MatchMode.ANYWHERE),
  7. Restrictions.or(
  8. Restrictions.like("chanpin", "热水器", MatchMode.ANYWHERE),
  9. Restrictions.like("chanpin", "空调", MatchMode.ANYWHERE))))
  10. );
  11. */
  12. Disjunction dis=Restrictions.disjunction();
  13. dis.add(Restrictions.like("chanpin", "冰箱", MatchMode.ANYWHERE));
  14. dis.add(Restrictions.like("chanpin", "洗衣机", MatchMode.ANYWHERE));
  15. dis.add(Restrictions.like("chanpin", "热水器", MatchMode.ANYWHERE));
  16. dis.add(Restrictions.like("chanpin", "空调", MatchMode.ANYWHERE));
  17. detachedCriteria.add(dis);
  18. //e筛选去除无效数据

用来组合一组逻辑或【or】条件的方法

  1. Restrictions.disjunction();

用来组合一组逻辑与【and】条件的方法

  1. Restrictions.conjunction();

实际中有sql如下: where   transportType=1 and ((pol=1 and pod=2) or (pol=1 and pod=3) or (pol=1 and pod=4))

代码如下

Criteria criteria = getCriteria();
if(transportType!=null)criteria.add(Restrictions.eq("transportType", transportType));
if(polIdStr!=null && podIdStr!=null) {
List<Integer> polIdList = ListUtil.stringToList(polIdStr);
List<Integer> podIdList = ListUtil.stringToList(podIdStr);
List<Criterion> CriterionList=new ArrayList<Criterion>(); Disjunction dis = Restrictions.disjunction();//多个or可以拼蛸
for(int polId:polIdList){
for(int podId:podIdList){
Conjunction con=Restrictions.conjunction();//多个and拼接
con.add(Restrictions.eq("polId", polId));
con.add(Restrictions.eq("podId", podId));
dis.add(con);
}
}
criteria.add(dis);
}

最新文章

  1. WSB功能分解(在线考试系统)
  2. 搭建java环境
  3. Android之Adapter用法总结-(转)
  4. 《高级Web应用程序设计》课程学习资料
  5. SQL2005中的事务与锁定(二)- 转载
  6. 面向对象---prototype
  7. ajax跨域访问 java controller 和 cxf(webservice) 配置方式(CORS)
  8. Python的函数式编程-传入函数、排序算法、函数作为返回值、匿名函数、偏函数、装饰器
  9. 《Programming WPF》翻译 第8章 4.关键帧动画
  10. 【java】一维数组循环位移方阵
  11. MonkeyImage API 实践全记录
  12. (简单) POJ 2387 Til the Cows Come Home,Dijkstra。
  13. 【网络】IP子网划分详解
  14. 监控报I/O问题,怎么办?
  15. Loadrunner的参数化解析
  16. MongoDB 无法创建抽象类的问题,
  17. Tensorflow运用RNN注意事项
  18. python singleton design pattern super() 多继承
  19. 【Visual Studio】Visual C# 中XML注释的使用(含注释在开发时显示换行)
  20. Java编程的逻辑 (41) - 剖析HashSet

热门文章

  1. opencart按重量配送如何设置
  2. P1908 逆序对-(树状数组)
  3. quick: iskindof使用注意
  4. SUSE12.2 添加ISO为源
  5. centos里的压缩解压命令tar总结
  6. Linux 中【./】和【/】和【.】之间有什么区别?
  7. Spring Boot 排除自动配置的 4 种方法,关键时刻很有用!
  8. how to compile and replace ubuntu kernel
  9. 收藏:png8和png24的根本区别
  10. 《Linux就该这么学》培训笔记_ch07_RAID和LVM