原文詳見-----> 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);
參數簡單化
/**
* @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);
生活不易,且行且珍惜,謝謝
