软件编程
位置:首页>> 软件编程>> java编程>> JPA like 模糊查询 语法格式解析

JPA like 模糊查询 语法格式解析

作者:十&年  发布时间:2022-06-16 20:43:42 

标签: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);

来源:https://blog.csdn.net/xubenxismile/article/details/52403128

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com