关于MybatisPlus查询条件空字符串和NULL问题

MP依赖版本

    
        com.baomidou
        mybatis-plus
        3.3.1.tmp
    

问题背景

在使用MP实现条件查询时,如果入参为null或者""时,则MP还是会把其当做条件去执行如图:

关于MybatisPlus查询条件空字符串和NULL问题_第1张图片
在这里插入图片描述
入参:
关于MybatisPlus查询条件空字符串和NULL问题_第2张图片
MP官方文档给出解决方案:https://mp.baomidou.com/config/#insertstrategy
个人建议增加全局配置:
mybatis-plus: global-config: db-config: select-strategy: not_empty

但是又出现一个新的问题,id为""时,仍然不会被QueryWrapper屏蔽掉,还是会被当做条件去查询
入参
关于MybatisPlus查询条件空字符串和NULL问题_第3张图片
执行语句
在这里插入图片描述
支持非空字段判断拼接

LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>();
wrapper.eq(!order.getState().sEmpty(),Orders::getState, orders.getState());

你可能感兴趣的:(mysql,java)