MyBatis-Plus使用SQL语句

  • 项目中碰到一个必须要使用动态SQL的地方,

想着在xml文件中进行一层一层的判断太麻烦了,也不好理解,要是能在Java代码中组织好SQL,进行查询操作

QueryWrapper<object> queryWrapper = new QueryWrapper<>();
queryWrapper.apply("&#x7EC4;&#x7EC7;&#x597D;&#x7684;SQL&#x8BED;&#x53E5;");
List<object> streamList = Mapper.selectList(queryWrapper);</object></object>

这样就可以在Java代码中进行SQL语句的组织,然后传入mybatis-plus进行查询使用.

注意:

*
– 组织好的SQL语句一定是可执行的,mybatis不会进行语句校验直接进行查询操作
– 组织好的SQL语句中不能包含别名,不使用别名会不会报错?经测试是不会的,mybatis自己会进行处理,所以语句中包含子查询或者嵌套语句,需要去掉别名

  • 使用QueryWrapper的时候,传入的参数如果为空不进行SQL拼接的操作
QueryWrapper<object> queryWrapper = new QueryWrapper<>();
queryWrapper.like(StringUtils.isNotEmpty(&#x201C;&#x4F20;&#x5165;&#x7684;&#x53C2;&#x6570;&#x503C;&#x201D;),&#x201C;&#x5217;&#x503C;&#x201D;,&#x201C;&#x4F20;&#x5165;&#x7684;&#x503C;&#x201D;)&#xFF1B;
List<object> streamList = Mapper.selectList(queryWrapper);</object></object>

这样设置完,传入的参数如果为空的话,就不会拼接这条like语句,就可以达到效果

Original: https://www.cnblogs.com/reverseapplepie/p/14870719.html
Author: 反转苹果派
Title: MyBatis-Plus使用SQL语句

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/616166/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 生产者、消费者模型—Queue类

    Queue队列在几乎每种编程语言都会有,python的列表隐藏的一个特点就是一个后进先出(LIFO)队列。而本文所讨论的Queue是python标准库queue中的一个类。它的原理…

    Java 2023年6月14日
    089
  • Spring Security定义多个过滤器链(10)

    在Spring Security中可以同时存在多个过滤器链,一个WebSecurityConfigurerAdapter的实例就可以配置一条过滤器链。 我们来看如下一个案例: @C…

    Java 2023年6月13日
    081
  • Okhttp3 网络请求框架与 Gson

    <span class="hljs-params"><dependency> <span class="hljs-par…

    Java 2023年6月9日
    078
  • Linux常用文件管理命令详解

    cat cat命令用于连接文件并打印到标准输出设备上。 命令语法: cat [&#x53C2;&#x6570;] [&#x6587;&#x4EF6;…

    Java 2023年6月7日
    074
  • Java学习 (10)Java流程控制篇(01)Scanner

    Java学习 (10)Java流程控制篇(01)Scanner Scanner对象 Scanner对象基本内容 关于next() 和 nextLine() 方式的区别 next()…

    Java 2023年6月8日
    085
  • logback日志级别动态切换的终极方案(Java ASM使用)

    背景 一切皆有因果,所有事情,都有事件驱动。本方案的日志级别切换是由这样的背景下产生的: 单个生产环境上,有几百近千个微服务 日志级别切换不重启服务,要求即时生效果 由业务开发人员…

    Java 2023年6月6日
    084
  • 抵达心之自由

    如水涟漪,如树伫立,如草柔韧。 自由来自智慧。 你眼前所见即为真,所不见亦为真。假从何来?假并不存在于事物中,而是存在于标准中。 挣脱了标准的枷锁,就获得了第一层自由; 当深明生命…

    Java 2023年6月9日
    083
  • 大白话之数据库事务

    本文摘自我的公众号: 陶朱公Boy。欢迎大家关注! 关注我: 上述文章摘自作者的公众号:陶朱公Boy 公众号内容包括:以下系列文章,欢迎大家关注。也欢迎大家加我微信(公众号有联系方…

    Java 2023年6月15日
    085
  • 实时离线一体大数据在资产租赁saas服务中使用

    流水查询需求 需求第一期: 基于TB级的在线数据,支持缴费帐单明细在线查询。大家都知道,像银行帐单流水一样,查几年的流水是常有的事。 支持的维度查询:帐期、欠费状态、日期范围、费用…

    Java 2023年6月6日
    090
  • c3p0

    1.导入jar包 导入这两个jar包 下载jar包地址:Maven Repository: Search/Browse/Explore (mvnrepository.com) (进…

    Java 2023年6月5日
    091
  • 差分数组入门

    差分数组 什么是差分数组? 差分数组:差分数组就是原始数组相邻元素之间的差。 其实差分数组是一个 辅助数组,从侧面来表示给定某一数组的变化,一般用来对数组进行区间修改的操作。 比如…

    Java 2023年6月15日
    077
  • 大厂是怎么进行SQL调优的?

    这天我正在午休呢,公司DBA就把我喊醒了,说某库出现大量慢SQL,很快啊,很快,我还没反应过来,库就挂了,我心想现在的用户不讲武德啊,怎么在我睡觉的时候大量请求呢。 这是很常见的一…

    Java 2023年6月9日
    067
  • fastposter v2.8.3 发布 电商海报生成器

    fastposter v2.8.3 发布 电商海报生成器 🔥🔥🔥 fastposter海报生成器,电商海报编辑器,电商海报设计器,fast快速生成海报 海报制作 海报开发。贰维🐴海…

    Java 2023年6月5日
    075
  • Java中使用CountDownLatch进行多线程同步

    CountDownLatch介绍 在前面的Java学习笔记中,总结了Java中进行多线程同步的几个方法: 1、synchronized关键字进行同步。 2、Lock锁接口及其实现类…

    Java 2023年5月29日
    085
  • 碎碎念六二

    07.01 心,完全沉静下来,阅读与创作,便是快乐的开始。 心静下来,做什么事情都会快乐的吧! 又是什么,让心静不下来呢?忧疑与恐惧,名利与渴望。 07.03 小心保存情感,蓄积,…

    Java 2023年6月9日
    073
  • mybatis多次查询全部后返回一个Page对象/sql语句多出一个limit

    今天在前端走页面的时候,发现有个接口返回的数据偶尔出现一次不是预想的结果。 先看我需要返回的数据: 再看不是预想中的数据: 断点调试后发现问题出现在 List<product…

    Java 2023年6月16日
    0101
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球