博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于JPA动态SQL查询
阅读量:5217 次
发布时间:2019-06-14

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

1.继承接口

2.下面是简单的操作---自己写过的,下次再整理一下

public Page
list(MemberSearch search, Pageable pageable) { Page
page = memberRepository.findAll((root, query, cb) -> { List
predicates = new ArrayList<>(); //groupId if (StringUtils.isNotEmpty(search.getSearchGroupId())) { predicates.add((cb.equal(root.get("idddsMemberGroup").get("id"), search.getSearchGroupId()))); } else { CriteriaBuilder.In
in = cb.in(root.get("idddsMemberGroup").get("id")); List
groupIdList = memberGroupRepository.findIdsByStatus(StatusEnum.normal.getDesc()); for (String str : groupIdList) { in.value(str); } predicates.add(in); } //role角色 if (StringUtils.isNoneBlank(search.getSearchRole())) { predicates.add((cb.equal(root.get("role"), search.getSearchRole()))); } //status状态 if (StringUtils.isNoneBlank(search.getSearchStatus())) { predicates.add((cb.equal(root.get("status"), search.getSearchStatus()))); } //名字,公司模糊查询 if (StringUtils.isNoneBlank(search.getSearchName())) { predicates.add((cb.like(root.get("trueName"), "%" + search.getSearchName() + "%"))); } if (StringUtils.isNoneBlank(search.getSearchOrganization())) { predicates.add((cb.like(root.get("organization"), "%" + search.getSearchOrganization() + "%"))); } //时间,这里是个坑,数据库字段为created_time if (search.getStart() != null) { predicates.add(cb.greaterThanOrEqualTo(root.get("createdTime"), DateUtils .parseDate(DateUtils.formatDate(search.getStart(), "yyyy-MM-dd") + " 00:00:00"))); } if (search.getEnd() != null) { predicates.add(cb.lessThanOrEqualTo(root.get("createdTime"), DateUtils .parseDate(DateUtils.formatDate(search.getEnd(), "yyyy-MM-dd") + " 23:59:59"))); } query.where(predicates.toArray(new Predicate[]{})); //排序 if (StringUtils.isNoneBlank(search.getOrderBy())) { if ("desc".equals(search.getSortType())) { //倒序 query.orderBy(cb.desc(root.get(search.getOrderBy()))); } else { //正序 query.orderBy(cb.asc(root.get(search.getOrderBy()))); } } return null; }, pageable); return page; }

 

转载于:https://www.cnblogs.com/xzmxddx/p/10975733.html

你可能感兴趣的文章
jQuery总结第一天
查看>>
Java -- Swing 组件使用
查看>>
Software--Architecture--DesignPattern IoC, Factory Method, Source Locator
查看>>
poj1936---subsequence(判断子串)
查看>>
黑马程序员_Java基础枚举类型
查看>>
【redis4 】
查看>>
[ python ] 练习作业 - 2
查看>>
一位90后程序员的自述:如何从年薪3w到30w!
查看>>
在.net core上使用Entity FramWork(Db first)
查看>>
System.Net.WebException: 无法显示错误消息,原因是无法找到包含此错误消息的可选资源程序集...
查看>>
UIImage 和 iOS 图片压缩UIImage / UIImageVIew
查看>>
MongoDB的数据库、集合的基本操作
查看>>
ajax向后台传递数组
查看>>
疯狂JAVA16课之对象与内存控制
查看>>
[转载]树、森林和二叉树的转换
查看>>
WPF移动Window窗体(鼠标点击左键移动窗体自定义行为)
查看>>
软件测试-----Graph Coverage作业
查看>>
django ORM创建数据库方法
查看>>
创建Oracle synonym 详解
查看>>
php7 新特性整理
查看>>