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

本篇文章“Mybatisplus中的like查询问题怎么解决”主要为您从以下几个方面讲解:上代码、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查询问题怎么解决”的介绍已经结束,如果您还想获取更多相关知识,可以继续关注Worktile网站,我们将定期为大家更新一些优质内容。

文章标题:Mybatisplus中的like查询问题怎么解决,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/15092

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
亿速云的头像亿速云
上一篇 2022年6月29日 上午3:03
下一篇 2022年6月29日 上午3:37

相关推荐

  • 数据库加密有什么用

    数据库加密的主要用途包括:保护数据的安全性、防止未经授权的访问、满足法规要求、防止数据泄露、保证数据的完整性和可靠性。数据库加密是一种安全策略,它可以确保存储在数据库中的敏感信息不被未经授权的用户访问。如果没有正确的密钥,即使数据被盗,也无法解读加密的信息,从而极大地增强了数据的安全性。此外,数据库…

    2024年7月16日
    500
  • 数据库跳板是什么意思

    数据库跳板是一种在网络安全领域常见的术语,是指黑客通过某个已经被控制的数据库,跳转到其他的数据库或系统,以此进行进一步的攻击行为。具体来说,数据库跳板包括以下几个步骤:一、黑客首先找到一个安全漏洞较多、比较容易攻击的数据库,然后利用各种手段将其控制;二、控制后,黑客会在此数据库中植入恶意代码,使其成…

    2024年7月16日
    500
  • 数据库实现了些什么功能

    数据库实现了数据存储、数据检索、数据管理、数据完整性、数据安全、并发控制、备份与恢复等功能。在这些功能中,数据存储是最基础的功能,因为所有的数据操作都依赖于数据存储这一核心功能。数据存储确保了数据的持久化,能够在需要时进行读取和操作,而不会因为系统关闭或故障而丢失数据。数据库系统通过高效的数据存储机…

    2024年7月16日
    300
  • 电信数据库都做些什么工作

    电信数据库的主要工作包括数据存储、数据管理、数据分析、数据安全、数据备份和恢复、数据集成和数据挖掘。数据存储是其核心功能之一,确保大量用户信息、通话记录、账单数据等能够高效、安全地存储。数据管理涉及对这些数据的组织和维护,确保数据的准确性和一致性。数据分析则通过大数据技术对存储的信息进行深度挖掘,帮…

    2024年7月16日
    300
  • 启动数据库用什么软件好

    启动数据库,我们可以选择多种不同的软件,比如MySQL、Oracle、SQL Server、PostgreSQL、MongoDB、SQLite等。每种数据库软件都有其独特的特性和适应的应用场景。例如,MySQL是最受欢迎的关系数据库管理系统,它具有开源、性能高效、成本低、可扩展性好等优点,被广泛应用…

    2024年7月16日
    300
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部