JPA like 模糊查询 语法格式解析
更新时间:2021年12月07日 11:25:22 作者:十&年
这篇文章主要介绍了JPA like 模糊查询 语法格式解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
JPA like 模糊查询 语法格式
public List<InstitutionInfo> getAllInstitution(final Application app){ String zdGljg = null; Sysuser user = (Sysuser) app.getUser(); String userGljg = user.getGljg(); if("00".equals(userGljg.substring(4, 6))){//市级机构权限 zdGljg = userGljg.substring(0, 4) + "%"; }else if("00".equals(userGljg.substring(6, 8))){//区县级机构权限 zdGljg = userGljg.substring(0, 6) + "%"; }else{//乡镇级机构权限 zdGljg = userGljg + "%"; } Query query = entityManager.createQuery("select s from InstitutionInfo s where s.gljg like :zdGlbh "); query.setParameter("zdGlbh", zdGljg); List<InstitutionInfo> adg =query.getResultList(); return adg; }
模糊查询:Spring Data JPA 如何进行模糊查询(LIKE) ?
Spring MVC + Spring Data JPA+模糊查询
为了方便起见,service直接忽略,方便理解。
一. 方法一
1. Controller层:
方法参数如下,一定要加 "%"+name+"%"
/** * @description: * @author: czx<15610554031@163.com> * @date: 2018/1/22 下午5:15 * @version: V1.0 */ @RestController public class UserController { @Autowired private TeamRepository teamRepository; @GetMapping("/findByNameLike") public List<Team> findByNameLike(String name) { // 一定要加 "%"+参数名+"%" return teamRepository.findByNameLike("%"+name+"%"); } }
2. Dao层:
一定要使用 JPA 规定的形式 findBy+参数名+Like(参数)
/** * @description: 数据层 * @author: czx<15610554031@163.com> * @date: 2018/1/18 上午10:52 * @version: V1.0 */ public interface TeamRepository extends JpaRepository<Team, String> { List<Team> findByNameLike(String name);
二. 方法二
1. Controller:
参数简单化
/** * @description: * @author: czx<15610554031@163.com> * @date: 2018/1/22 下午5:15 * @version: V1.0 */ @RestController public class UserController { @Autowired private TeamRepository teamRepository; @GetMapping("/findByNameLike") public List<Team> findByNameLike(String name) { return teamRepository.findByNameLike(name); } }
2.Dao层:
需要自己定义SQL语句
/** * @description: * @author: czx<15610554031@163.com> * @date: 2018/1/18 上午10:52 * @version: V1.0 */ public interface TeamRepository extends JpaRepository<Team, String> { @Query(value = "select t from Team t where t.name like %?1%") List<Team> findByNameLike(String name);
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
selenium4.0版本在springboot中的使用问题的坑
本文主要介绍了selenium4.0版本在springboot中的使用问题的坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-07-07SpringBoot 使用 Sa-Token 完成注解鉴权功能(权限校验)
Sa-Token 是一个轻量级 java 权限认证框架,主要解决登录认证、权限认证、单点登录、OAuth2、微服务网关鉴权 等一系列权限相关问题,这篇文章主要介绍了SpringBoot使用Sa-Token完成注解鉴权功能,需要的朋友可以参考下2023-05-05
最新评论