栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MyBatis Plus 动态拼接查询条件sql动态组装QueryWrapper 合并

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MyBatis Plus 动态拼接查询条件sql动态组装QueryWrapper 合并

本文默认大家都已熟悉MyBatis Plus基本操作,不赘述。

MyBatis Plus 使用起来已然十分方便,但对于一个动态条件查询来说,我们如果不想书写xml,就可能写出如下代码:

    @PostMapping("/list")
    public Object list(@RequestBody UserVO user) {
        LambdaQueryChainWrapper lqcw = new LambdaQueryChainWrapper<>(userService.getBaseMapper());

        // 拼接动态条件
        if(user != null){
            if(user.getId() != null) {
               lqcw = lqcw.eq(UserVO::getId, user.getId());
            }

             if(user.getUserName() != null) {
               lqcw = lqcw.likeLeft(UserVO::getUserName, user.getUserName());
            }
            ......
        }
        return userService.list(lqcw);
    }

看起来依然是十分啰嗦,于是,我们来简单封装一个工具类,根据传入的对象,不为空的字段,就动态拼接查询条件。

首先,我们需要知道字段和条件之间的对应关系,比如,对于 username字段,要使用 eq, 还是 like呢

这个我们可以用一个注解来映射他们的关系:

<
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/955885.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号