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方法进行条件嵌套处理:

参考地址:

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

相关文章

  • springboot下mybatis-plus开启打印sql日志的配置指南

    springboot下mybatis-plus开启打印sql日志的配置指南

    这篇文章主要给大家介绍了关于springboot下mybatis-plus开启打印sql日志的配置指南的相关资料,还介绍了关闭打印的方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-03-03
  • 使用注解@Validated和BindingResult对入参进行非空校验方式

    使用注解@Validated和BindingResult对入参进行非空校验方式

    这篇文章主要介绍了使用注解@Validated和BindingResult对入参进行非空校验方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • java项目中的多线程实践记录

    java项目中的多线程实践记录

    项目开发中对于一些数据的处理需要用到多线程,比如文件的批量上传,数据库的分批写入,大文件的分段下载等,主要涉及到多线程的一些知识,本文通过实例代码给大家介绍的非常详细,需要的朋友参考下
    2021-11-11
  • JavaSwing基础之Layout布局相关知识详解

    JavaSwing基础之Layout布局相关知识详解

    上次我们说到View的Mearsure流程,今天接着说说layout. 关于layout,很多朋友知道它是负责布局的,那么具体是怎么布局的?viewGroup和view的layout方法又有什么不同?一起来看看吧,需要的朋友可以参考下
    2021-05-05
  • Java并发编程之LongAdder源码解析

    Java并发编程之LongAdder源码解析

    这篇文章主要为大家介绍了Java并发编程之LongAdder源码示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • IDEA将Maven项目中指定文件夹下的xml等文件编译进classes的方法

    IDEA将Maven项目中指定文件夹下的xml等文件编译进classes的方法

    这篇文章主要介绍了IDEA将Maven项目中指定文件夹下的xml等文件编译进classes的方法,帮助大家更好的利用IDEA进行Java的开发学习,感兴趣的朋友可以了解下
    2021-01-01
  • Java并发编程之关键字volatile的深入解析

    Java并发编程之关键字volatile的深入解析

    提高java的并发编程,就不得不提volatile关键字,不管是在面试还是实际开发中volatile都是一个应该掌握的技能,这篇文章主要给大家介绍了关于Java并发编程之关键字volatile的相关资料,需要的朋友可以参考下
    2021-09-09
  • spring中的BeanFactory与FactoryBean的讲解

    spring中的BeanFactory与FactoryBean的讲解

    今天小编就为大家分享一篇关于spring中的BeanFactory与FactoryBean的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • Mybatis逆工程jar包的修改和打包

    Mybatis逆工程jar包的修改和打包

    这篇文章主要介绍了Mybatis逆工程jar包的修改和打包的相关资料,需要的朋友可以参考下
    2016-06-06
  • IDEA中的yml文件与properties互相转换

    IDEA中的yml文件与properties互相转换

    这篇文章主要介绍了IDEA中的yml文件与properties互相转换方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10

最新评论