Mybatis plus中的like查询问题

作者:爱吃蛋挞的kk 时间:2022-03-18 09:14:30 

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", "两边%");

来源:https://blog.csdn.net/qq_18427977/article/details/78564749

标签:Mybatis,plus,like,查询
0
投稿

猜你喜欢

  • java读写ini文件、FileOutputStream问题

    2023-11-29 08:50:13
  • 详解Struts2中json 相互引用死循环解决办法

    2022-09-08 04:04:46
  • Java设计模式之备忘录模式实现对象状态的保存和恢复

    2023-08-28 15:22:27
  • 如何利用Spring把元素解析成BeanDefinition对象

    2023-11-23 05:17:16
  • Android编程基础之获取手机屏幕大小(DisplayMetrics应用)示例

    2023-09-26 17:57:43
  • java中Scanner输入用法实例

    2023-09-03 18:25:36
  • Kotlin编程基础语法编码规范

    2023-06-20 16:50:07
  • 使用Java8 Stream流的skip + limit实现批处理的方法

    2023-11-29 06:17:39
  • SpringBoot集成Redis—使用RedisRepositories详解

    2023-09-04 08:55:59
  • Spring启动过程中实例化部分代码的分析之Bean的推断构造方法

    2022-08-26 02:00:07
  • jQuery.event.trigger()的简单解释

    2023-05-24 03:41:37
  • 详解java中jvm虚拟机栈的作用

    2022-06-06 14:08:44
  • 2020JDK1.8安装教程详解(一次就可安装成功)

    2023-11-28 04:08:58
  • mybatis-plus排除非表中字段的操作

    2022-04-22 03:48:41
  • C#实现身份证号码验证的方法

    2022-11-08 09:15:34
  • java生成随机数的方法

    2023-12-12 12:49:51
  • Java实现验证码具体代码(图片、汉字)

    2023-03-25 11:14:31
  • Java虚拟机内存结构及编码实战分享

    2023-11-29 13:47:47
  • Java设计模式编程中的工厂方法模式和抽象工厂模式

    2023-03-19 05:50:48
  • 解析JAVA深度克隆与浅度克隆的区别详解

    2023-11-02 10:57:28
  • asp之家 软件编程 m.aspxhome.com