spring JPA分页排序条件查询
@RequestMapping("/listByPage")
public Page<Production> listByPage(int page, int size, String sortStr, boolean sortAscOrDesc, String searchObj)
{
Specification<Production> specification = getSpecification(searchObj);
if (StringUtils.isEmpty(sortStr))
{
return productionRepository.findAll(specification, new PageRequest(page, size));
}
else
{
return productionRepository.findAll(specification, new PageRequest(page, size, new Sort((sortAscOrDesc ? Sort.Direction.ASC : Sort.Direction.DESC), sortStr)));
}
}
private Specification getSpecification(String searchObj)
{
JSONObject search = (JSONObject) JSONValue.parse(searchObj);
Specification<Production> specification = new Specification<Production>()
{
@Override
public Predicate toPredicate(Root<Production> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder)
{
List<Predicate> queryList = new ArrayList<Predicate>();
if (search.get("name") != null && !StringUtils.isEmpty(search.get("name") + ""))
{
queryList.add(criteriaBuilder.equal(root.get("name"), search.get("name") + ""));
}
if (search.get("name1") != null && !StringUtils.isEmpty(search.get("name1") + ""))
{
queryList.add(criteriaBuilder.equal(root.get("name1"), search.get("name1") + ""));
}
if (queryList.size() > 0)
{
criteriaQuery.where(queryList.toArray(new Predicate[queryList.size()]));
}
return criteriaQuery.getRestriction();
}
};
return specification;
}
spring JPA分页排序条件查询的更多相关文章
- JPA之排序条件查询
List<Monitoring> monitoringList = repository.findAll((root, query, cb) -> { List<Predica ...
- ormlite 在android中 排序 条件查询
ormlite 在android中 排序 条件查询 all = dao.queryBuilder().orderBy("Id", true).where().eq("Ty ...
- Spring MVC和Spring Data JPA之按条件查询和分页(kkpaper分页组件)
推荐视频:尚硅谷Spring Data JPA视频教程,一学就会,百度一下就有, 后台代码:在DAO层继承Spring Data JPA的PagingAndSortingRepository接口实现的 ...
- spring data jpa实现多条件查询(分页和不分页)
目前的spring data jpa已经帮我们干了CRUD的大部分活了,但如果有些活它干不了(CrudRepository接口中没定义),那么只能由我们自己干了.这里要说的就是在它的框架里,如何实现自 ...
- 【JPA】表达条件查询的关键字
1.通过解析方法名创建查询 框架在进行方法名解析时,会先把方法名多余的前缀截取掉,比如 find.findBy.read.readBy.get.getBy,然后对剩下部分进行解析.并且如果方法的最后一 ...
- jqGrid jqGrid分页参数+条件查询
HTML <div class="row"> <div class="col-sm-20"> <form id="for ...
- 分页离线条件查询 页面响应500 后端未报异常 list集合有数据
如果 使用同一个Hibernate的DetachedCriteria离线条件查询对象同时查询“过滤后条数” 和 “过滤后的数据集合”,那么查询记录数时需要设置聚合函数条件并且 使用聚合函数 代码要在 ...
- 【JPA】Spring Data JPA 实现分页和条件查询
文章目录 1.在`Repository`层继承两个接口 2.在Service层进行查询操作 3.Page的方法 1.在Repository层继承两个接口 JpaRepository<Admin, ...
- springboot带分页的条件查询
QueryDSL简介 QueryDSL仅仅是一个通用的查询框架,专注于通过Java API构建类型安全的SQL查询. Querydsl可以通过一组通用的查询API为用户构建出适合不同类型ORM框架或者 ...
随机推荐
- BASIC-13_蓝桥杯_数列排序
示例代码: #include <stdio.h>#include <stdlib.h> int main(void){ int n = 0 ; int i = 0 , j = ...
- 如何手动关闭tomcat服务,不在Eclipse中的server里按那个红色按钮关
首先,找到Tomcat服务器的安装目录bin目录下的shutdown.bat.然后拖动到命令行进行操作,将Tomcat服务器关闭~ 将shutdown.bat 文件拖至命令行操作当中,执行该命令,即可 ...
- mysql分区表之三:MySQL分区建索引[转]
介绍 mysql分区后每个分区成了独立的文件,虽然从逻辑上还是一张表其实已经分成了多张独立的表,从“information_schema.INNODB_SYS_TABLES”系统表可以看到每个分区都存 ...
- MongoDB整库备份+整库导入
备份前检查: [root@Load29 tmp]# mongo localhost: MongoDB shell version: connecting to: localhost:/test Ser ...
- 1110 Complete Binary Tree (25 分)
1110 Complete Binary Tree (25 分) Given a tree, you are supposed to tell if it is a complete binary t ...
- 6.26-EL表达式,JSTL标签
一.EL表达式 功能: 替代jsp中数据访问时的复杂java代码 语法: ${表达式} ${(5+9)*2} 访问顺序: page--->request--->session---> ...
- 如何对hashmap按value值排序
http://bbs.csdn.net/topics/90321713 这个帖子中没有我想要的答案,treemap是根据key排序的,想以value排序,那么可以key,value互换一下,不过这样的 ...
- Ubuntu 提权漏洞(CVE-2019-7304)复现
漏洞描述: Ubuntu 版本: Ubuntu 18.10 Ubuntu 18.04 LTS Ubuntu 16.04 LTS Ubuntu 14.04 LTS 2.28 < snapd < ...
- Petapoco 查询 语法
查询语句 Sql sql = Sql.Builder; sql.Select("spb_MailAddress.*") .From("spb_MailAddress&qu ...
- mac mysql中文乱码问题
God,今天看了好多资料,除了让我命令更熟练以外浪费了好多时间. 遇到的问题:写入数据库有中文的时候,显示??? 最后解决办法: 1.打开终端,输入: mysql -u root -p,然后输入mys ...