mybatisplus isNotNull不生效问题及解决

目录
  • mybatisplus isNotNull不生效
  • myBatis的<isNotNull>标签使用
    • 以<isNotNull>标签为例

mybatisplus isNotNull不生效

通过mybatisplus isNotNull 查询string类型数据,不生效改用:ne即可。

需求查询‘name’不为空的:isNotNull(“name”) 不生效,

改成 .ne(“name”, “”)

搞定!

myBatis的<isNotNull>标签使用

  • 标签<isNull>用于判断参数是否为Null,为Null时,执行标签体内的语句。
  • 标签<isNotNull>用于判断参数是否不为Null,不为Null时,执行标签体内的语句。
  • 标签<isEmpty>判断参数是否为Null或者空(空字符串),满足其中一个条件则其true,执行标签体内的语句。
  • 标签<isNotEmpty>判断参数是否同时不为Null且不为空(空串),当参数既不为Null也不为空是其为true, 判断之后做相对应的表达式操作。

具体如下:

以<isNotNull>标签为例

当name不是null时,就在set后动态添加name = #name:varchar#,

当name是null时,就不执行该标签,set后不会有name=...,也就是修改时不会去修改name的值。

属性prepend=","就是执行该标签后,在执行体的后面添加逗号(,)。

当然set也需要动态添加,否则更新字段都为null的话,该SQL语句就报错了。

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

(0)

相关推荐

  • Mybatis-plus自动填充不生效或自动填充数据为null原因及解决方案

    目录 问题一:自动填充的数据为null 问题二:使用mybatis-plus的乐观锁后发现自动填充的updateTime字段不自动填充了 小结 昨天使用mybatis-plus.使用自动填充后发现了两个问题. 一个是填充数据为null, 一个是当使用了mybatis-plus的乐观锁,自动填充就失效了 开始在网上看,有人说是mybatis的bug,我想不会我这么快就遇到了bug.后面我通过idea的(ctrl+B)看他的源码.发现这不是bug,而是一个非常巧妙的设计,当然也可能是之前有bug,我

  • Mybatis中isNotNull与isNotEmpty的使用心得

    目录 isNotNull与isNotEmpty使用心得 具体业务需求是这样的 看一下下面2个SQL语句 isNull,isNotNull与isEmpty,isNotEmpty区别 例子 isNotNull与isNotEmpty使用心得 做开发工作时间长了,会发现,在需求逐步梳理清晰以后,大致的方向已经明确了.此时会进入细节开发环节,是最繁琐,也是决定开发质量的关键阶段.最近遇到了一个生产问题,必填字段的值,清空保存,无法保存成功. 具体业务需求是这样的 客户的基本信息,坐席可以保存,也可以提交后

  • 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, SqlKe

  • mybatisplus isNotNull不生效问题及解决

    目录 mybatisplus isNotNull不生效 myBatis的<isNotNull>标签使用 以<isNotNull>标签为例 mybatisplus isNotNull不生效 通过mybatisplus isNotNull 查询string类型数据,不生效改用:ne即可. 需求查询‘name’不为空的:isNotNull(“name”) 不生效, 改成 .ne(“name”, “”) 搞定! myBatis的<isNotNull>标签使用 标签<isN

  • bootstrap折叠调用collapse()后data-parent不生效的快速解决办法

    今天做的项目,用到了bootstrap的折叠功能,这个功能需要只展开一个折叠框,点击一个就会自动隐藏另一个,初始按照API做了一下,发现一切运行正常,但是测试的同事提了一个bug,说切换到其他模块后再切换回来,发现原先展开的折叠框没有折叠起来--即恢复原样.于是又去修改代码,回来的时候对所有折叠框调用: .collapse('hide')方法. $(".love .collapse").collapse('hide'); 调用之后发现,点击连接苗,data-parent失效了,也就是可

  • 微信小程序中hidden不生效原因的解决办法

    微信小程序中hidden不生效原因的解决办法 例如如下布局: <view hidden="true" style="display:flex;flex-direction: row;"> <text>text1</text> <text>text2</text> </view> 你会发现hidden没生效.经我实验发现hidden元素对块状布局才生效,所以这段代码里导致hidden没生效的罪魁祸

  • vue在index.html中引入静态文件不生效问题及解决方法

    本文针对的是Vue小白,不喜勿喷,谢谢 出现该问题的标志如下 控制台warning(Resource interpreted as Stylesheet but transferred with MIME type text/html) 出现的原因及解决办法 第一种可能出现原因就是引入的静态文件在src文件夹内,这种的解决办法就是把资源引入静态资源的目录static 第二种可能出现的原因就是有单独的静态资源目录但是名字不叫static,这种的解决办法更改配置文件,把对应的几个配置文件内的stat

  • maven下mybatis-plus和pagehelp冲突问题的解决方法

    Maven库: http://repo2.maven.org/maven2/ Maven依赖查询: http://mvnrepository.com/ 解决办法: 修改pom.xml文件 排除 pagehelp 包的mybatis和mybatis-spring依赖 <!-- pagehelper --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehe

  • springboot2.0 配置时间格式化不生效问题的解决

    在开发中日期最常打交道的东西之一,但是日期又会存在各式各样的格式,常见的情形就是,从数据库取出的日期往往都是时间戳(毫秒数)的形式,这个一般情况下是前端不想要的结果,需要进行处理,那在springboot中比较简单: pom.xml中添加依赖 <!-- 日期格式化 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter

  • mybatis-plus 版本不兼容问题的解决

    mybatis-plus 版本不兼容问题 1,mybatis-plus 版本中存在一个问题. 2,mybatis-plus-extension 版本为v3.2.1.1-SNAPSHOT 以上版本时使用其PaginationInterceptor分页插件时. 3,mybatis-plus-core 版本也需要升级到v3.2.1.1-SNAPSHOT以上. 4,因为在PaginationInterceptor类中 此位置使用了mybatis-plus-core包中toolkit/StringUtil

  • mybatis-plus无法通过logback-spring输出的解决方法

    目录 问题描述 解决过程 解决方案 问题描述 通过官网配置,将mybatis-plus引入spring boot项目中,但是日志只能在控制台中输出,却无法在logback的日志文件中输出 // 具体参考网址 // https://mp.baomidou.com/guide/faq.html#%E5%90%AF%E5%8A%A8-mybatis-%E6%9C%AC%E8%BA%AB%E7%9A%84-log-%E6%97%A5%E5%BF%97 mybatis-plus: configuratio

  • mybatis-plus自动装配时间失效的解决

    刚开始的版本是3.2.0,在springboot聚合工程下,common公共API配置只有一个子模块可以使用,其它子模块无法自动生成时间.MyMetaObjectHandler 在3.2.0版本下使用的方法 在3.3已过时 以下为3.3版本的jar配置 @Component public class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject meta

随机推荐