模糊查詢:Spring Data JPA 如何進行模糊查詢(LIKE) ?


原文詳見----->  https://blog.csdn.net/czx1204/article/details/79131281

一. 方法一

1.  Controller層:
  方法參數如下,一定要加 "%"+name+"%"
/**
 * @description:
* @author: 程志祥<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: 程志祥<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: 程志祥<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: 程志祥<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);
 
            生活不易,且行且珍惜,謝謝


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM