Mybatis Plus条件构造器ConditionConstructor用法实例解析

 更新时间:2020年08月19日 11:24:43   作者:emdzz  
这篇文章主要介绍了Mybatis Plus条件构造器ConditionConstructor用法实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

理解:

原来叫条件构造器,我一直以为都是封装条件对象

即SQL的查询条件,不过都一样。

其目的是因为的实际的需求灵活多变,而我们的SQL的筛选条件也需要跟着变化,

但是有一些固定的字段固定的方式可以保证不变化,那么方法的参数的确定尤为重要

从单一的一个ID,一个String的属性,到一个类型的对象,最后到规范的接口

就是逐渐把可能的情况不断的抽象化,更具有泛用意义

Wrapper的常用方法:

eq方法,名称是equals的缩写,两个参数,一个是数据库表字段的名称,一个是表字段值

userQueryWrapper.eq("user_id", 9); // WHERE user_id = ?

重载方法首参数多加了一个布尔类型,名称condition,MybatisPlus是希望在这个条件成立的情况下装填筛选条件

如果这个条件是必选的也必将会调用的,那么就是使用上面的那种。

boolean condition的意义在于动态SQL,如果给了就执行,没有就不执行

一般在业务逻辑层编写的时候结合IF & ELSE应地制宜

userQueryWrapper.eq(false,"user_id", 9); // 这个false需要一个变量来灵活操控

不等于:

userQueryWrapper.ne("columnX","valueX"); // columnX != valueX || columnX <> valueX

between方法,即SQL的 WHERExx字段 BETWEEN值1 AND值2

注意,值1一定是小于值2的

userQueryWrapper.between("xxx表字段", 10, 65); // WHERE xx字段 BETWEEN 值1 AND 值2

大于小于、大于等于、小于等于

userQueryWrapper.gt("xx字段", 20); // WHERE columnX > valueX
    userQueryWrapper.lt("xx字段", 20); // WHERE columnX < valueX

    userQueryWrapper.ge("xx字段", 20); // WHERE columnX >= valueX
    userQueryWrapper.le("xx字段", 20); // WHERE columnX <= valueX

按字段排序:

可以是默认和N个字段,默认排序就表示ASC顺序从小到大

也可以指定排序方式,和自定的字段:

众多条件需要进行连接,无非就是AND & OR两种

一般只需要连续引用就表示这些一连串的条件是AND拼接,其中一个条件是可选的,就使用or方法处理

// WHERE xx字段 <= 20 AND columnX > valueX OR xxx表字段 BETWEEN 10 AND 65
userQueryWrapper.le("xx字段", 20).gt("columnX","valueX").or().between("xxx表字段", 10, 65);

如果我们需要更加明确的表示:则使用And方法进行条件嵌套处理:

参考地址:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java语言实现简单FTP软件 FTP远程文件管理模块实现(10)

    Java语言实现简单FTP软件 FTP远程文件管理模块实现(10)

    这篇文章主要为大家详细介绍了Java语言实现简单FTP软件,FTP远程文件管理模块的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • 15道非常经典的Java面试题 附详细答案

    15道非常经典的Java面试题 附详细答案

    这篇文章主要为大家推荐了15道非常经典的Java面试题,附详细答案,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • Java 对象序列化 NIO NIO2详细介绍及解析

    Java 对象序列化 NIO NIO2详细介绍及解析

    这篇文章主要介绍了Java 对象序列化 NIO NIO2详细介绍及解析的相关资料,序列化机制可以使对象可以脱离程序的运行而对立存在,需要的朋友可以参考下
    2017-02-02
  • Springboot使用redis进行api防刷限流过程详解

    Springboot使用redis进行api防刷限流过程详解

    这篇文章主要介绍了Springboot使用redis进行api防刷限流过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Mybatis 一级缓存和二级缓存原理区别

    Mybatis 一级缓存和二级缓存原理区别

    这篇文章主要介绍了Mybatis 一级缓存和二级缓存原理区别 ,文章通过围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • SpringSecurity之SecurityContextHolder使用解读

    SpringSecurity之SecurityContextHolder使用解读

    这篇文章主要介绍了SpringSecurity之SecurityContextHolder使用解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • IDEA导入Eclipse项目的方法步骤(图文教程)

    IDEA导入Eclipse项目的方法步骤(图文教程)

    这篇文章主要介绍了IDEA导入Eclipse项目的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Spark操作之aggregate、aggregateByKey详解

    Spark操作之aggregate、aggregateByKey详解

    这篇文章主要介绍了Spark操作之aggregate、aggregateByKey详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • 详解Spring加载Properties配置文件的四种方式

    详解Spring加载Properties配置文件的四种方式

    这篇文章主要介绍了详解Spring加载Properties配置文件的四种方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • java多线程编程之从线程返回数据的两种方法

    java多线程编程之从线程返回数据的两种方法

    从线程中返回数据和向线程传递数据类似。也可以通过类成员以及回调函数来返回数据。但类成员在返回数据和传递数据时有一些区别,下面让我们来看看它们区别在哪
    2014-01-01

最新评论