MP依赖版本
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>3.3.1.tmp</version>
</dependency>
问题背景
在使用MP实现条件查询时,如果入参为null或者""时,则MP还是会把其当做条件去执行如图:
入参:
MP官方文档给出解决方案:https://mp.baomidou.com/config/#insertstrategy
个人建议增加全局配置:
mybatis-plus: global-config: db-config: select-strategy: not_empty
但是又出现一个新的问题,id为""时,仍然不会被QueryWrapper屏蔽掉,还是会被当做条件去查询
入参
执行语句
支持非空字段判断拼接
LambdaUpdateWrapper<Orders> wrapper = new LambdaUpdateWrapper<>();
wrapper.eq(!order.getState().sEmpty(),Orders::getState, orders.getState());