博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring-data-jpa动态条件查询
阅读量:6047 次
发布时间:2019-06-20

本文共 1452 字,大约阅读时间需要 4 分钟。

//获取动态条件的集合 List
list = new ArrayList
(); Long sysUserId = currentUser.getSysUserId(); if (sysUserId != null) { SysUser sysUser = sysUserRepository.findOne(sysUserId); if (sysUser != null) { String groupItemIds = sysUser.groupItemIds(); if (groupItemIds != null && !groupItemIds.isEmpty()) { String[] str = StringUtils.split(groupItemIds,","); for (String s : str) { if (s != null && !s.isEmpty() && s != "") { list.add(Long.valueOf(s)); } } } } }

 

 

 

//封装Specification查询条件 Specification
spec = (root, query, cb) -> { List
predicates = new ArrayList
(); List
preList = new ArrayList
(); if (list != null && list.size()>0) { preList.add(root.
get("groupItemId").in(list)); } if (sysUserId != null) { Predicate predicate = cb.equal(root.get(Goods_.crtUserId), sysUserId); preList.add(predicate); } Predicate p = cb.or(preList.toArray(new Predicate[preList.size()])); predicates.add(p); if (!predicates.isEmpty()) { return cb.and(predicates.toArray(new Predicate[0])); } else { return null; } }; Page
pageresult = goodsRepository.findAll(spec, pageable);

 

转载地址:http://stiex.baihongyu.com/

你可能感兴趣的文章
武汉民间“巧手”丝绫堆绣技法复兴老手艺
查看>>
林海雪原锻造“特战利刃”——直击第78集团军某特战旅冬训
查看>>
给程序员看的Javascript攻略(完结)- 异步
查看>>
2018 前端性能检查表
查看>>
固定宽高比例盒模型实现方案
查看>>
前端安全知识
查看>>
SpringBoot项目中遇到的异常
查看>>
2017就这样过去
查看>>
Android P 中的新文本特性
查看>>
Android Support Library 的新增功能 | 中文教学视频
查看>>
浅谈JPDA中JVMTI模块
查看>>
AQS的基本原理
查看>>
【性能优化】quicklink:实现原理与给前端的启发
查看>>
R.Swift高效引用资源文件
查看>>
从贺老微博引出的“遍历器(Iterators)加速那些奥秘”
查看>>
微信小程序 canvas圆角矩形的绘制
查看>>
# 每天阅读一个 npm 模块(8)- koa-route
查看>>
仅需四步,即可体验 Service Worker 带来的快感
查看>>
微服务实战(golang)
查看>>
[译] TC39,ECMAScript 和 JavaScript 的未来(Part 1)
查看>>