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))){//區(qū)縣級機構權限
zdGljg = userGljg.substring(0, 6) + "%";
}else{//鄉(xiāng)鎮(zhè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)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Java 將字符串動態(tài)生成字節(jié)碼的實現(xiàn)方法
本篇文章主要是對Java將字符串動態(tài)生成字節(jié)碼的實現(xiàn)方法進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-01-01

