模糊查询:LIKE 关键字
@Query("select u.name from User u where u.name like CONCAT('%',:name,'%') ")
List<User> findByNameLike(@Param("name") String name);
多条件查询 :
@Query(value = "select * from User as u where u.name=?1 and u.age=?2",nativeQuery = true)
List<User> findByNameAndAge(String name, Integer age);
以上的SQL语句一定要按照Query的格式来。以上都是写在DAO层(respository层里面)
@Query注解的用法(Spring Data JPA) 这里参考:http://www.cnblogs.com/zj0208/p/6008627.html
接下来就是controller里面的代码:
//模糊查询
@GetMapping("/findByNameLike/{name}")
public List<User> findByNameLike(@PathVariable(value = "name") String name){
// 一定要加 "%"+参数名+"%"
return userService.findByNameLike(name);
}
//多条件查询
@GetMapping("/findByNameAndAge/{name}")
public List<User> findByNameAndAge(@PathVariable(value = "name") String name, @RequestParam("age") Integer age){
return userService.findByNameAndAge(name, age);
}
service里面的接口 具体看图
调试:http://localhost:8080/api/findByNameAndAge/MJF?age=22