springdatajpa条件查询

本文介绍了如何在SpringDataJPA中进行条件查询。通过在Controller中定义方法,并在Service层调用LabelDao的findAll方法,结合Specification接口动态构建查询条件。在toPredicate方法中,利用root、query和cb参数构建SQL的LIKE和等于条件,最终组合成完整的查询表达式。
摘要由CSDN通过智能技术生成

首先当然是在controller中增加一个方法:

@RequestMapping(value = "/search",method = RequestMethod.POST)
    public Result findSearch(@RequestBody Label label){
        List<Label> list = labelService.findSearch(label);
        return new Result(true,StatusCode.OK,"查询成功",list);
    }

这样,我们通过访问localhost:9001/label/search就可以查询啦,然后是实现labelService中的findSearch:

public List<Label> findSearch(Label label) {
        return labelDao.findAll(new Specification<Label>() {
            /**
             *
             * @param root 根对象,也就是要把条件封装到哪个对象中。where 类名 = label.getid
             * @param query 封装的都是查询关键字,比如group by order by 等
             * @param cb cb用来封装条件对象的,如果直接返回null,表示不需要任何条件
             * @return
             */
            @Override
            public Predicate toPredicate(Root<Label> root, CriteriaQuery<?> que
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值