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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值