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


猜你喜欢
- 一、本文来由由于网络不稳定的原因,所以想着启动本地nacos来运行项目,但是nacos启动没问题了,但是依旧报错。Caused by: co
- Android apk 插件启动内存释放问题插件中启动apk,一般情况下在apk中内存不存在问题,但在插件中可能会存在并放大这个问题,原因是
- 前言在这一期的文章中,我将继续介绍 Either,使用它构建树形结构,该结构允许我模拟 Scala 的模式匹配来构建遍历方法。在 Java
- Controller简介Controller控制器,是MVC中的部分C,为什么是部分呢?因为此处的控制器主要负责功能处理部分:1、收集、验证
- 目标线程的join方法暂停当前线程,直到目前线程完成(从run()方法返回),供大家参考,具体内容如下Java代码:package Thre
- 本文实例为大家分享了Android实现扫描和生成二维码的具体代码,供大家参考,具体内容如下目标效果:该例子可以扫描二维码和条形码,扫描后会将
- 本文实例讲述了Android使用selector修改TextView中字体颜色和背景色的方法。分享给大家供大家参考,具体如下:android
- C和指针相关基础知识:内存的分配(谭浩强版)1、整型变量的地址与浮点型/字符型变量的地址区别?(整型变量/浮点型变量的区别是什么)2、int
- 缘起标准的RABC, 权限需要支持动态配置,spring security默认是在代码里约定好权限,真实的业务场景通常需要可以支持动态配置角
- 依赖<dependency> <groupId>com.baomidou</groupId> <a
- 项目中需要webview重定向,但是由于一个webveiw里面有许多加载操作,因此在调用webview。goback()方法时,往往达不到我
- 引言在Flutter开发中,所有的组件和页面都继承自Widget,所以探索页面的生命周期其实就是Widget的生命周期。 在 Flutter
- 前言安卓的Material库提供了许多样式更精美的控件,其中就有悬浮控件,它表现出一种悬浮在页面的效果,也就是有立体效果的,让人产生这种控件
- 在处理模板时,可以由模板逻辑决定是否加载数据,以提高性能。在Spring Boot控制器中设置数据时,使用LazyContextVariab
- 升级到grails 2.3.2之后,运行时报如下的异常:Exception in thread "main"Error
- Java main 方法面试题的详细整理1.不用main方法如何定义一个类?不行,没有main方法我们不能运行Java类。在java 7之前
- Vector实现了AbstractList抽象类和List接口,和ArrayList一样是基于Array存储的Vector 是线程安全的,在
- /// <summary> /// 删除掉空
- 本文实例讲述了Java ThreadLocal类应用。分享给大家供大家参考,具体如下:一 点睛ThreadLocal,是Thread Loc
- 前言Object object = new Object();世间万物的本质都可看作类的对象,面向对象(OOP)的模式让程序易维护、易复用、