模糊查询: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