今天和别的系统联调,改了个需求,之前的复杂查询中关键字查询需要加入忽略大小写。
忽略大小写都是把要查的条件都转为大写或者小写,然后把数据库获得的数据同样转为大写或者小写再去比对。
Page<Student> page = studentRepository.findAll(new Specification<Student>(Root<Student> root,
CriteriaQuery<?> query, CriteriaBuilder cb){
List<Predicate> preList = new ArrayList<>();
if(StringUtils.isNotEmpty(keys)){
Predicate namePre = cb.like(cb.lower(rootget("studentName")),"%" + keys.toLowerCase() + "%");
preList.add(namePre);
}
Predicate[] predicates = preList.toArray(new Predicate[preList.size()]);
return cb.and(predicates);
});
本文介绍了一种在Java中实现数据库查询时忽略大小写的方法。通过使用Spring Data JPA的Specification接口,配合Criteria API,实现了对Student表中的studentName字段进行不区分大小写的模糊搜索。该方法将查询关键字及数据库中的数据全部转换为小写形式,再进行匹配。
1189

被折叠的 条评论
为什么被折叠?



