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<[email protected]> * @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<[email protected]> * @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<[email protected]> * @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<[email protected]> * @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);
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- SpringDataJpa like查詢無效的解決
- SpringBoot整合MongoDB的實現步驟
- SpringBoot輕松整合MongoDB的全過程記錄
- springboot整合mongodb並實現crud步驟詳解
- 基於spring data jpa @query返回map的踩坑記錄