模糊查询: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);
 
            生活不易,且行且珍惜,谢谢

猜你喜欢

转载自www.cnblogs.com/yang1314/p/9295764.html
今日推荐