1. 程式人生 > >模糊查詢:Spring Data JPA 如何進行模糊查詢(LIKE) ?

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

定義 repos ppi -- data art dao層 sql語句 pos

原文詳見-----> 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);
生活不易,且行且珍惜,謝謝

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