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);

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • mybatis中的test语句失效处理方式

    mybatis中的test语句失效处理方式

    这篇文章主要介绍了mybatis中的test语句失效处理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Spring的事件和监听器-同步与异步详解

    Spring的事件和监听器-同步与异步详解

    这篇文章主要介绍了Spring的事件和监听器-同步与异步详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Java多线程的实现方式详解

    Java多线程的实现方式详解

    这篇文章主要介绍了Java多线程的实现方式详解,线程就是进程中的单个顺序控制流,也可以理解成是一条执行路径,java中之所以有多线程机制,目的就是为了提高程序的处理效率,需要的朋友可以参考下
    2023-08-08
  • Maven项目打包成war包部署到Tomcat的方法

    Maven项目打包成war包部署到Tomcat的方法

    这篇文章主要介绍了Maven项目打包成war包部署到Tomcat的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • Java批量修改文件名的实例代码

    Java批量修改文件名的实例代码

    几天前在163公开课上下了一些mp4视频文件。发现课程名和文件名不对应,想到编个程序批量修改。先分析网页源代码将课程名和文件名一一对应,存储在一个文件里,然后使用Java读取该文件进而修改文件名。
    2013-04-04
  • Spring中字段格式化的使用小结

    Spring中字段格式化的使用小结

    Spring提供的一个core.convert包 是一个通用类型转换系统。它提供了统一的 ConversionService  API和强类型的Converter SPI,用于实现从一种类型到另一种类型的转换逻辑,这篇文章主要介绍了Spring中字段格式化的使用详解,需要的朋友可以参考下
    2022-06-06
  • Mybatis中返回Map的实现

    Mybatis中返回Map的实现

    这篇文章主要介绍了Mybatis中返回Map的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Java 将字符串动态生成字节码的实现方法

    Java 将字符串动态生成字节码的实现方法

    本篇文章主要是对Java将字符串动态生成字节码的实现方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01
  • SpringBoot中使用JWT的实战

    SpringBoot中使用JWT的实战

    本文主要介绍了SpringBoot中使用JWT的实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • springBoot整合redis做缓存具体操作步骤

    springBoot整合redis做缓存具体操作步骤

    缓存主要是将数据存在计算机的内存当中,以便于在使用的时候是可以实现快速读取使用,它的快也是相对于硬盘读取而言,这篇文章主要给大家介绍了关于springBoot整合redis做缓存的具体操作步骤,需要的朋友可以参考下
    2024-04-04

最新评论