前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

只是一个简单需求:  查询所有部门id 属于  idList 的数据

 Page<WorkWeight> page = workWeightRepository.findAll(new Specification<WorkWeight>() {@Overridepublic Predicate toPredicate(Root<WorkWeight> root, CriteriaQuery<?> query, CriteriaBuilder cb) {List<Predicate> list = new ArrayList<>();if(null != subDepartmentId && !"".equals("subDepartmentId")){list.add(cb.equal(root.<String>get("subDepartmentId"), subDepartmentId));}if(null != status && !"".equals("status")){list.add(cb.equal(root.<String>get("status"), status));}if (null != startTime && !"".equals("startTime")) {list.add(cb.greaterThanOrEqualTo(root.<Date>get("startTime"), DateUtil.stringToDate(startTime)));}if (null != endTime && !"".equals("endTime")) {list.add(cb.lessThanOrEqualTo(root.<Date>get("endTime"), DateUtil.stringToDate(endTime)));}Expression<String> exp = root.<String>get("departmentId");list.add(exp.in(idList)); // 往in中添加所有id 实现in 查询if (list.size() != 0) {Predicate[] p = new Predicate[list.size()];return cb.and(list.toArray(p));} else {return null;}}}, new PageRequest(pageable.getPageNumber(), pageable.getPageSize(), pageable.getSort()));

重点代码:

  Expression<String> exp = root.<String>get("departmentId");list.add(exp.in(idList)); // idList是部门id集合, 实现in 查询

spring data jpa 的 in 查询 Specification 实现相关推荐

  1. spring data jpa实现分页查询功能

    spring data jpa实现分页查询功能 HTML代码部分: // 收派标准信息表格 $('#grid').datagrid( {iconCls : 'icon-forward',fit : t ...

  2. spring data jpa 多对多查询

    spring data jpa 多对多查询 以用户-角色 多读多为例: User类,用户 @Entity public class User {private String username;priv ...

  3. Spring Data JPA多表查询

    多表查询在Spring Data JPA中有两种实现方式 第一种创建一个结果集接口来接收多表连查的结果 第二种利用JPA的关联映射来实现 先来熟悉一下几个注解 注解 意思 属性 @ManyToOne ...

  4. Spring Data JPA自定义SELECT查询语句,自定义UPDATE修改语句

    查询语句: 1. 在@Query 注解里设置value ,?1.?2 分别代表第一第二个参数, nativeQuery=true  表示是否是原生SQL @Query(value = "se ...

  5. java data jpa_java中Spring data jpa通过Predicate查询时间段

    如下,想搜索time1和time2之间的数据,但是查不到cb是重写了方法中的参数CriteriaBuilder,root是参数Rootpredicates.add(cb.between(root.ge ...

  6. Spring Data JPA

    1.    概述 Spring JPA通过为用户统一创建和销毁EntityManager,进行事务管理,简化JPA的配置等使用户的开发更加简便. Spring Data JPA是在Spring JPA ...

  7. Spring Data JPA教程

    在Java类或对象与关系数据库之间管理数据是一项非常繁琐且棘手的任务. DAO层通常包含许多样板代码,应简化这些样板代码,以减少代码行数并使代码可重复使用. 在本教程中,我们将讨论Spring数据的J ...

  8. SpringBoot22-spingboot数据访问-Spring Data JPA

    一:点睛Spring Data JPA 1,什么事Spring Data JPA 我们知道Hibernate是数据访问解决技术的绝对霸主,使用O/R映射技术实现数据访问,o/r映射即将领域模型类和数据 ...

  9. Springboot整合Spring Data JPA

    1 Spring Data JPA 1.Spring Data JPA的概念 在介绍Spring Data JPA的时候,我们首先认识下Hibernate.Hibernate是数据访问解决技术的绝对霸 ...

最新文章

  1. 使用gulp进行React任务的构建
  2. 最受欢迎的十款免费安全软件
  3. zap支持php,golang的zap怎么使用
  4. 使用sysbench对mysql压力测试
  5. 大数据时代了解一些问题
  6. 抖音打破了传统互联网的商业逻辑
  7. 大型网站技术架构之技术一览
  8. 计算机科学与技术专业要选修的课程,计算机科学与技术专业课程探讨
  9. 高性能mysql 3 pdf下载_《高性能MySQL_第3版》PDF版本下载
  10. 东方通(tongweb)部署
  11. 把码云项目上传到服务器,将本地项目上传到码云上(vue项目)
  12. ipv4和计算机地址是什么意思,ipv6是什么意思?我们怎么查看电脑iPv6地址
  13. 开放大学毕业生自我鉴定计算机,开放大学毕业生自我鉴定范文500字(精选7篇)...
  14. Mirai僵尸网络介绍以及源码
  15. mac视频太大怎么压缩 苹果电脑怎么压缩视频大小的软件
  16. 键盘按键开关种类简介
  17. 有功、无功、视在功率及功率因素
  18. 用Python实现微信翻译机器人
  19. Zabbix Server trapper命令注入漏洞(CVE-2020-11800)
  20. android 4.0 原生短信,Android 4.0 短信发不出去解决办法

热门文章

  1. windeployqt.exe的使用与避坑(windows平台)
  2. 【JS 逆向百例】cnki 学术翻译 AES 加密分析
  3. 【FZU - 2254】英语考试(最小生成树,思维,建图)
  4. 【蓝桥杯官网试题 -算法训练】素因子去重(数学,数论,因子约数)
  5. mysql 执行计划extra_mysql执行计划explain type和extra
  6. mysql爆内存_线上MySQL数据库机器内存爆掉原因分析与解决
  7. rust 案例_RUST-X气相防锈产品落户中国,助力中国高端制造出口海外
  8. 28和lba48命令格式区别_编译Sass(命令行)
  9. Linux学习:第一章-Linux简介
  10. leetcode619. 只出现一次的最大数字(SQL)