jpa 多字段like_Spring Date jpa 多个like匹配查询基础问题?
本人想要实现的效果如下面sql 语句所示:
select * from user u where u.userid like '% 参数1 %' and u.username like '%参数2%'
通过百度已经实现 动态查询代码如下:
public Page getDataForSearch(PageRequest pageRequest, final JSONObject jSONObjSearch) throws SaggException {
Page page = null;
try {
page = userRepo.findAll(new Specification() {
@Override
public Predicate toPredicate(Root root, CriteriaQuery> query, CriteriaBuilder builder) {
List predicates = new ArrayList();
Predicate predicate = null;
Expression namePath = null;
if (null != jSONObjSearch) {
if (StrKit.notBlank(jSONObjSearch.getString("userid"))) {
namePath = root.get("userid");
predicate = builder.like(namePath, "%" + jSONObjSearch.getString("userid") + "%");
predicates.add(predicate);
}
if (StrKit.notBlank(jSONObjSearch.getString("userName"))) {
namePath = root.get("userName");
predicate = builder.like(namePath, "%" + jSONObjSearch.getString("userName") + "%");
predicates.add(predicate);
}
}
query.where(predicates.toArray(new Predicate[predicates.size()]));
return null;
}
}, pageRequest);
} catch (Exception e) {
// 交易人管理模块异常状态码statusCode用2000开始,2001:数据查询错误
throw new SaggException(StatusCodeUtil.personSearchErr);
}
return page;
}
DAO 层代码如下:
public interface UserRepository extends CrudRepository {
// List findAll(Pageable pageable);
Page findAll(Pageable pageable);// 分页需返回page对象
Page findAll(Specification spe, Pageable pageRequest);
Page findByUseridOrUserNameLike(Pageable pageable, String userid, String userName);
问题: 上面这种写法,好像不能达到我期望的效果,上面这个代码哪里错了?怎么改进?请大神赐教,感激不尽……
jpa 多字段like_Spring Date jpa 多个like匹配查询基础问题?相关推荐
- jpa 多字段like_Spring Data JPA 如何进行模糊查询(LIKE) ?
一. 方法一 1. Controller层: 方法参数如下,一定要加 "%"+name+"%" /** * @description: * @author: ...
- 【JPA】字段访问、属性访问及混合访问
[JPA]字段访问.属性访问及混合访问 转载:https://www.cnblogs.com/yangchongxing/p/10120318.html 1.字段访问 注解字段,通过反射来获得和设置字 ...
- springBoot JPA 数据库字段(实体类)带下划线在扩展findBy方法时出错的解决办法
springBoot JPA 数据库字段(实体类)带下划线在扩展findBy方法时出错的解决办法 参考文章: (1)springBoot JPA 数据库字段(实体类)带下划线在扩展findBy方法时出 ...
- JPA教程:JPA概述、JPA实体生命周期、JPA实体映射关系、JPA查询语言
JPA定义了Java ORM及实体操作API的标准.本文摘录了JPA的一些关键信息以备查阅. 如果有hibernate的基础,通过本文也可以快速掌握JPA的基本概念及使用. 1 JPA概述 JPA(J ...
- ORM框架之Spring Data JPA(二)spring data jpa方式的基础增删改查
上一篇主要在介绍hibernate实现jpa规范,如何实现数据增删改查,这一篇将会着重spring data jpa 一.Spring Data JPA 1.1 Spring Data JPA介绍: ...
- 【Spring Data JPA自学笔记一】JPA是什么?JPA访问数据库初体验
文章目录 JPA是什么? JDBC的诞生 JPA的诞生 如何使用JPA? 配置JPA 配置pom.xml 配置persistence.xml 实现POJO类 调用JPA方法 关于EntityManag ...
- JPA休眠替代方案。 如果JPA或Hibernate对于我的项目而言不够好,该怎么办?
你好!你好吗? 今天,我们将讨论不建议使用JPA / Hibernate的情况. 在JPA领域之外,我们还有哪些选择? 我们将谈论的是: JPA /休眠问题 解决一些JPA /休眠问题的方法 选择此处 ...
- oracle date引入哪个包,oracle 索引字段包含date类型,使用spring jdbc更新时不走索引,而是走table access full的问题...
环境: spring jdbc 3.2.3.RELEASE oracle 11.2.0.1.0 - Production 生产环境存在大表(3000万数据):WR_MP_HOURW_R,包含复合主键: ...
- oracle to_char 和 to_date的区别,斜杠和横杠日期转换,mybatis中入参日期,数据库字段是date的写法
文章目录 斜线日期转换为横线 这样的时间字符串如何转换20201212040506258 ORA-01830: 日期格式图片在转换整个输入字符串之前结束 mybatis中入参日期,数据库字段是date ...
最新文章
- JavaScript OOP(2)定义JavaScript类
- WinCE 应用程序开机自动方法
- 13.7 线程生命周期状态图、线程常用的方法。
- 更改tomcat的request编码方式
- zc702运行linux,笔记:ZC702之linux运行
- python怎么获取redis中的数据_python 获取的redis里的数据怎么处理
- oracle获取行的值给产量,递归oracle sql识别值
- 青云QingCloud携手伟仕佳杰打造专业企业级云服务
- 蓝桥杯 BASIC-18 基础练习 矩形面积交
- JAVA→XML解析EXtensible Markup Language、JSON解析JavaScript Object Notation
- Hadoop - 任务调度系统比较
- Ubuntu18.04 如何解决编译objective-c出现undefined reference to objc_get_class
- Ubuntu16.04深度学习环境+个人桌面配置(CUDA10.1 + cudnn8.0.4 + pytorch1.7)
- Python核心编程(第三版)课后习题解答——第二章
- 精装房验房项目以及注意事项,业主自己验收必备工具有哪些?精装房验收整改建议
- 深度Linux与永中集成Office相聚在未来
- Crontab 在线生成器 - Linux计划任务
- 使用depends查看64位dll/exe
- Skip List——跳表,一个高效的索引技术
- Java案例2-1商品入库