温馨提示×

Mybatisplus中的like查询问题怎么解决

发布时间:2022-06-28 14:22:21 来源:亿速云 阅读:85 作者:iii 栏目:开发技术

这篇“Mybatisplus中的like查询问题怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Mybatisplus中的like查询问题怎么解决”文章吧。

Mybatis plus中like查询问题

又谈到了Mybatis plus了,真的很是痛心疾首,在做模糊查询的时候出现了一个问题,版本还是2.0.8,我觉得大问题没有小问题不断吧!

上代码

        @MethodAnnot()
        public static List<VwUserRole> getVwUserRoleByList(VwUserRole      vwUserRole){  
              return vwUserRoleService.selectList(
                        new EntityWrapper<VwUserRole>(vwUserRole).like("username",vwUserRole.getUsername(), SqlLike.DEFAULT));
        }

模糊查询USER,讲道理来说是没有问题的,下面我们查一下这个SQL是什么

SELECT id,username,del_flag AS delFlag FROM vw_user_role WHERE username='a' AND del_flag='0' AND (username LIKE '%a%')

应该一下就可以看的出来 这样的查询语法怎么可能查询的出来数据呢?我觉得这算是一个Mybatis plus的Bug的吧!

解决方法也很简单,换个写法

         @MethodAnnot()
        public static List<VwUserRole> getVwUserRoleByList(VwUserRole vwUserRole){
                EntityWrapper ew=new EntityWrapper();
                ew.setEntity(new VwUserRole());
                ew.eq("del_flag",'0');
                ew.like("username",vwUserRole.getUsername(), SqlLike.DEFAULT);
                return vwUserRoleService.selectList(ew);
        }

我们看一下这样查询的SQL是什么

SELECT id,username,del_flag AS delFlag FROM vw_user_role WHERE (del_flag = 0 AND username LIKE '%a%')

这样是一点问题也没有的哦,应该能看出问题在那里吧?哈哈哈,不说了。

感觉还有好多地方会有坑等着我,踩一个坑记录一下吧!!!

Mybatis plus中like使用说明

like的四种用法

like(boolean condition, String column, String value)
like(String column, String value)
like(boolean condition, String column, String value, SqlLike type)
like(String column, String value, SqlLike type)
  • condition 是一些条件,符合才可加上你的sql

  • column为 数据库属性

  • value为 你传入的值

  • type 为 % 拼在那边:

  • SqlLike 为枚举类

    LEFT("left", "左边%"),
    RIGHT("right", "右边%"),
    CUSTOM("custom", "定制"),
    DEFAULT("default", "两边%");

以上就是关于“Mybatisplus中的like查询问题怎么解决”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。

推荐阅读:MySQL的LIKE查询为何也叫模糊查询

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

主题地图