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

目录

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

JPA like 模糊查询 语法格式
public List 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 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 */@RestControllerpublic class UserController { @Autowiredprivate 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 TeamRepository extends JpaRepository {List findByNameLike(String name);


二. 方法二
1. Controller:
参数简单化
/** * @description: * @author: czx<15610554031@163.com> * @date: 2018/1/22 下午5:15 * @version: V1.0 */@RestControllerpublic class UserController { @Autowiredprivate TeamRepository teamRepository; @GetMapping("/findByNameLike")public List 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 { @Query(value = "https://www.it610.com/article/select t from Team t where t.name like %?1%")List findByNameLike(String name);

【JPA|JPA like 模糊查询 语法格式解析】以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

    推荐阅读