Mybatis-plus 查询条件为空不生效问题及解决

 更新时间:2022年01月12日 09:47:25   作者:轻点 别打脸  
这篇文章主要介绍了Mybatis-plus 查询条件为空不生效问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

查询条件为空不生效

-- mybatis-plus eq方法
default Children eq(R column, Object val) {
    return this.eq(true, column, val);
}
public Children eq(boolean condition, R column, Object val) {
    return this.addCondition(condition, column, SqlKeyword.EQ, val);
}

以上是mybatis-puls wrapper条件构造器 eq方法源码,由上可见,condition不传递值的时候,条件构造器默认填充的true。

因此,当我们传入的条件,不一定有值时,可以在condition入参位置进行判定,当入参为空或者自定义情况下,条件不生效,否则查询条件都是生效的,即使为空。

例:

wrapper.eq(StringUtil.isNotBlank(infoVO.getMobile()), MsPlatformInfo::getPhone, infoVO.getMobile());

当infoVO.getMobile()为空时,StringUtil.isNotBlank(infoVO.getMobile()) = false,这种情况下,此条件在sql执行时不生效

参数不生效

在使用mybatis-plus 传递参数一直不生效

打印sql 也是不显示该参数

springboot yml文件添加打印sql配置

mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #开启sql日志

最后搜到是del_flag参数类型错误!!!

由于传递的是Integer类型,但是在xml里面判断delFlag!=’’

只需要把 delFlag!=’’ 这个条件去掉就可以了

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 基于Java实现文件和base64字符串转换

    基于Java实现文件和base64字符串转换

    这篇文章主要介绍了基于Java实现文件和base64字符串转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • jdk动态代理和cglib动态代理详解

    jdk动态代理和cglib动态代理详解

    本篇文章主要介绍了深度剖析java中JDK动态代理机制 ,动态代理避免了开发人员编写各个繁锁的静态代理类,只需简单地指定一组接口及目标类对象就能动态的获得代理对象
    2021-07-07
  • SpringSecurity默认登录页的使用示例教程

    SpringSecurity默认登录页的使用示例教程

    Spring 是非常流行和成功的 Java 应用开发框架,Spring Security 正是 Spring 家族中的成员,Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案,本文给大家介绍SpringSecurity的默认登录页的使用教程,感兴趣的朋友一起看看吧
    2023-12-12
  • Java Lambda表达式与匿名内部类的联系和区别实例分析

    Java Lambda表达式与匿名内部类的联系和区别实例分析

    这篇文章主要介绍了Java Lambda表达式与匿名内部类的联系和区别,结合实例形式分析了Java Lambda表达式与匿名内部类功能、用法、区别及操作注意事项,需要的朋友可以参考下
    2019-10-10
  • idea2020.1设置多个spring boot的service启动的实现

    idea2020.1设置多个spring boot的service启动的实现

    这篇文章主要介绍了idea2020.1设置多个spring boot的service启动,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • spring利用squertz实现定时任务

    spring利用squertz实现定时任务

    spring squertz是一个强大的定时任务处理方式。下面这篇文章主要介绍了spring利用squertz实现定时任务的相关资料,文中介绍的很详细,对大家具有一定的参考借鉴价值,需要的朋友们下面来一起看看吧。
    2017-01-01
  • Java 将PDF转为HTML时保存到流的方法和步骤

    Java 将PDF转为HTML时保存到流的方法和步骤

    本文介绍如何通过Java后端程序代码将PDF文件转为HTML,并将转换后的HTML文件保存到流,下面是实现转换的方法和步骤,感兴趣的朋友一起看看吧
    2022-01-01
  • 关于@Bean的使用方式

    关于@Bean的使用方式

    这篇文章主要介绍了关于@Bean的使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • java音乐播放器课程设计

    java音乐播放器课程设计

    这篇文章主要为大家详细介绍了java音乐播放器的课程设计,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Spring boot配置 swagger的示例代码

    Spring boot配置 swagger的示例代码

    Swagger是一组开源项目,Spring 基于swagger规范,可以将基于SpringMVC和Spring Boot项目的项目代码,自动生成JSON格式的描述文件,接下来通过本文给大家介绍Spring boot配置 swagger的示例代码,一起看看吧
    2021-09-09

最新评论