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))){//市級機構(gòu)權(quán)限 zdGljg = userGljg.substring(0, 4) + "%"; }else if("00".equals(userGljg.substring(6, 8))){//區(qū)縣級機構(gòu)權(quán)限 zdGljg = userGljg.substring(0, 6) + "%"; }else{//鄉(xiāng)鎮(zhèn)級機構(gòu)權(quán)限 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層:
方法參數(shù)如下,一定要加 "%"+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) { // 一定要加 "%"+參數(shù)名+"%" return teamRepository.findByNameLike("%"+name+"%"); } }
2. Dao層:
一定要使用 JPA 規(guī)定的形式 findBy+參數(shù)名+Like(參數(shù))
/** * @description: 數(shù)據(jù)層 * @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:
參數(shù)簡單化
/** * @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);
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
selenium4.0版本在springboot中的使用問題的坑
本文主要介紹了selenium4.0版本在springboot中的使用問題的坑,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07SpringBoot?使用?Sa-Token?完成注解鑒權(quán)功能(權(quán)限校驗)
Sa-Token?是一個輕量級?java?權(quán)限認證框架,主要解決登錄認證、權(quán)限認證、單點登錄、OAuth2、微服務(wù)網(wǎng)關(guān)鑒權(quán)?等一系列權(quán)限相關(guān)問題,這篇文章主要介紹了SpringBoot使用Sa-Token完成注解鑒權(quán)功能,需要的朋友可以參考下2023-05-05IDEA使用JDBC安裝配置jar包連接MySQL數(shù)據(jù)庫
這篇文章介紹了IDEA使用JDBC安裝配置jar包連接MySQL數(shù)據(jù)庫的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-01-01Java過濾器filter_動力節(jié)點Java學(xué)院整理
這篇文章主要介紹了Java過濾器filter,通過過濾器,可以對來自客戶端的請求進行攔截,進行預(yù)處理或者對最終響應(yīng)給客戶端的數(shù)據(jù)進行處理后再輸出2017-07-07