Spring MVC + Spring Data JPA+模糊查询
为了方便起见,service直接忽略,方便理解。
一. 方法一
1. Controller层:
方法参数如下,一定要加 "%"+name+"%"
/**
* @description:
* @author: czx<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: czx<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: czx<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: czx<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);
————————————————
版权声明:本文为CSDN博主「After_five_years」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/czx1204/article/details/79131281