spring boot jpa 模糊查询 多条件查询 总结

2022-07-01 11:55:30

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

  • 作者:爱吃西瓜的小松鼠
  • 原文链接:https://blog.csdn.net/qq_40979622/article/details/82802532
    更新时间:2022-07-01 11:55:30