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

网友投稿 352 2022-11-17

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

目录JPA like 模糊查询 语法格式模糊查询:Spring Data JPA 如何进行模糊查询(LIKE) ?一. 方法一二. 方法二

JPA like 模糊查询 语法格式

public List getAllInstitution(final Applichttp://ation 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 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 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 TeamReposOBAKbzehCpitory extends JpaRepository {

List 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 teamhttp://Repository;

@GetMapping("/findByNameLike")

public List findByNameLike(String name) {

return teamRepository.findByNameLike(name);

}

}

2.Dao层:

需要自己定义SQL语句

/**

OBAKbzehCp * @description:

* @author: czx<15610554031@163.com>

* @date: 2018/1/18 上午10:52

* @version: V1.0

*/

public interface TeamRepository extends JpaRepository {

@Query(value = "select t from Team t where t.name like %?1%")

List findByNameLike(String name);

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:采用STM32核心板制作贪吃蛇小游戏
下一篇:Flink的CEP编程之CEP的相关概念
相关文章

 发表评论

暂时没有评论,来抢沙发吧~