iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >MybatisPlus之likeRight怎么使用
  • 268
分享到

MybatisPlus之likeRight怎么使用

2023-07-02 13:07:22 268人浏览 安东尼
摘要

这篇文章主要介绍“mybatisPlus之likeRight怎么使用”,在日常操作中,相信很多人在MybatisPlus之likeRight怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mybatis

这篇文章主要介绍“mybatisPlus之likeRight怎么使用”,在日常操作中,相信很多人在MybatisPlus之likeRight怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MybatisPlus之likeRight怎么使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

likeRight的用法

在使用Mybatis-plus的时候,使用like方法发现匹配的方法和自己想的相反,特此记录下:

使用场景:

我想要查询分类的某一层级下的订单,如下图,我想查询所有“男装”订单

MybatisPlus之likeRight怎么使用

那么,如果是写sql查询就是这样

select xx,xx from order_info where cateGory_id like '10,20%';

可是,项目如果使用的是Mybatis-plus,那么我们该怎么写呢?

最开始我想的是,likeLeft就是左匹配嘛,就按照下面这么写:

this.list(Wrappers.<OrderInfo>lambdaQuery().likeLeft(OrderInfo::getCategoryId,orderQueryReq.getCategoryId()).eq(OrderInfo::getStatus,99));

哦豁,没查到数据。然后就换成likeRight之后,bingo 数据出来了:

MybatisPlus之likeRight怎么使用

然后,我就默默的去看了下源码(从上到下,层层递进,直到最后我们找到了转换SQL的地方,对!就是那个SqlUtils):

    default Children likeRight(R column, Object val) {        return this.likeRight(true, column, val);    }     Children likeRight(boolean condition, R column, Object val);     public Children likeRight(boolean condition, R column, Object val) {        this.getWrapper().likeRight(condition, column, val);        return this.typedThis;    }     public Children likeRight(boolean condition, R column, Object val) {        return this.likeValue(condition, column, val, SqlLike.RIGHT);    }     protected Children likeValue(boolean condition, R column, Object val, SqlLike sqlLike) {        return this.doIt(condition, () -> {            return this.columnToString(column);        }, SqlKeyWord.LIKE, () -> {            return this.fORMatSql("{0}", SqlUtils.concatLike(val, sqlLike));        });    }     public static String concatLike(Object str, SqlLike type) {        switch (type) {            case LEFT:                return "%" + str;            case RIGHT:                return str + "%";            default:                return "%" + str + "%";        }    }

原来,它的likeLeft就是&lsquo;%&rsquo;这个玩意儿加在左侧,likeRight就是加在右侧,默认就是两边都加,也就是like!!!

使用like与likeright方法查询信息的踩坑

先说结论,like 和 likeRight的区别就是

  • like:填入query的参数两端加上通配符,会进行左右两端进行like匹配

  • likeRight:只给填入参数的右端加入通配符进行匹配。

所以使用的时候要搞清楚自己的需求,盲目使用like查询会造成隐患。

案例

想要抽取 一串数字第7和8位组成是03的数据。

例子

2022010101
2022010203
2022010302
2022020102
2022020204
2022020301

结果应该是第3个和第6个。

然后我的like语句是

like("number", "______" + 03 + "%") //下划线_ 代表占位符,表示这个位置的数字随意,但是一个占位符表示只能有一个字符,意思表示为:前面6位数字随意。但第7,8位必须要03.

然而结果是第2,3,6个,这个结果导致我一系列操作直接全部迷惑操作,把数据全大变样。

最后知道原因,原来mybatisplus的like方法,会在执行sql的时候给参数前后都加上%,这就导致我的6个下划线失效, 所以数据混乱。

到此,关于“MybatisPlus之likeRight怎么使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: MybatisPlus之likeRight怎么使用

本文链接: https://www.lsjlt.com/news/342122.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MybatisPlus之likeRight怎么使用
    这篇文章主要介绍“MybatisPlus之likeRight怎么使用”,在日常操作中,相信很多人在MybatisPlus之likeRight怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mybatis...
    99+
    2023-07-02
  • MybatisPlus之likeRight的用法
    目录关于likeRight的用法使用like与likeright方法查询信息的踩坑案例关于likeRight的用法 在使用Mybatis-plus的时候,使用like方法发现匹配的方...
    99+
    2022-11-13
  • MyBatisPlus之id生成策略怎么使用
    这篇文章主要介绍“MyBatisPlus之id生成策略怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MyBatisPlus之id生成策略怎么使用”文章能帮助大家解决问题。一、为什么需要选择不...
    99+
    2023-07-05
  • mybatisplus之自动映射字段怎么使用
    这篇“mybatisplus之自动映射字段怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“mybatisplus之自动...
    99+
    2023-07-05
  • mybatisplus中wrapper怎么使用
    MyBatis Plus中的Wrapper是用于构建条件查询的工具类。可以通过Wrapper类来构建SQL的WHERE条件。...
    99+
    2023-10-26
    mybatisplus
  • mybatisplus之怎么实现in嵌套sql
    这篇文章主要讲解了“mybatisplus之怎么实现in嵌套sql”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mybatisplus之怎么实现in嵌套sql”吧!mybatis-plus实...
    99+
    2023-07-05
  • MybatisPlus怎么使用聚合函数
    这篇文章主要介绍了MybatisPlus怎么使用聚合函数的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MybatisPlus怎么使用聚合函数文章都会有所收获,下面我们一起来看看吧。首先如果使用sql是这么写的:...
    99+
    2023-07-05
  • mybatisplus雪花算法生成Id怎么使用
    这篇文章主要讲解了“mybatisplus雪花算法生成Id怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mybatisplus雪花算法生成Id怎么使用”吧!雪花算法实战建表DROP&...
    99+
    2023-07-02
  • 怎么使用MyBatisPlus+SpringBoot实现乐观锁功能
    今天小编给大家分享一下怎么使用MyBatisPlus+SpringBoot实现乐观锁功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了...
    99+
    2023-07-05
  • mybatisplus怎么在xml的连表查询中使用queryWrapper
    这篇文章主要介绍“mybatisplus怎么在xml的连表查询中使用queryWrapper”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mybatisplus怎么在xml的连表查询中使用query...
    99+
    2023-06-26
  • 使用mybatisplus修改某字段为null怎么解决
    本文小编为大家详细介绍“使用mybatisplus修改某字段为null怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“使用mybatisplus修改某字段为null怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来...
    99+
    2023-07-05
  • SpringBoot中怎么整合MyBatisPlus Join使用联表查询
    这篇文章主要介绍了SpringBoot中怎么整合MyBatisPlus Join使用联表查询的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot中怎么整合MyBatisPlus Join使用联表查...
    99+
    2023-07-05
  • 怎么使用MyBatisPlus拦截器实现数据权限控制
    这篇文章主要介绍“怎么使用MyBatisPlus拦截器实现数据权限控制”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用MyBatisPlus拦截器实现数据权限控制”文章能帮助大家解决问题。前言...
    99+
    2023-07-05
  • MyBatisPlus不使用数据库默认值的问题怎么解决
    这篇“MyBatisPlus不使用数据库默认值的问题怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MyBatisPl...
    99+
    2023-07-02
  • mybatisplus与JPA混合使用的方法是什么
    本文小编为大家详细介绍“mybatisplus与JPA混合使用的方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“mybatisplus与JPA混合使用的方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知...
    99+
    2023-07-05
  • 怎么使用mybatisplus自带QueryWrapper自定义sql实现复杂查询
    这篇文章主要介绍“怎么使用mybatisplus自带QueryWrapper自定义sql实现复杂查询”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用mybatisplus自带QueryWrap...
    99+
    2023-07-04
  • Java之TreeSet怎么使用
    TreeSet是一种有序的集合,它基于红黑树实现。以下是使用TreeSet的一些常见操作:1. 创建一个TreeSet对象:```j...
    99+
    2023-09-16
    Java TreeSet
  • SpringSecurity之SecurityContextHolder怎么使用
    这篇“SpringSecurity之SecurityContextHolder怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看...
    99+
    2023-07-05
  • springSecurity之AuthenticationProvider怎么使用
    本文小编为大家详细介绍“springSecurity之AuthenticationProvider怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“springSecurity之AuthenticationProvider怎么使用”文...
    99+
    2023-07-05
  • phpredis之zrangeByScore怎么使用
    这篇“phpredis之zrangeByScore怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“phpredis之z...
    99+
    2023-07-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作