当insert或者update时,传输的字段值有为0或者为null的时候,可以进行如下操作
1、mabatis:
①当传入的值为0时:
如果使用了动态sql:
0在mybatis等于 ' ',去掉 != ' ' 条件即可
②当传入的值为null时:
动态sql使用了<trim></trim>标签,就不会保存到数据库中
我的修改方法如下:
2、mybatis-plus:
①在实体类中给指定字段添加注解,使其忽略判断
@TableField(strategy=FieldStrategy.IGNORED) (3.1.2版本后被弃用)
注解TanleField的strategy属性:
NOT NULL, 非ENULL判断
NOT EMPTY, 非空判断
DEFAULT, 默认
IGNORED,忽略判断;
新版本使用这个:
使用场景:
- insertStrategy insert操作时的字段策略,是否进行空值判断,插入空值
- updateStrategy update操作时的字段策略,是否进行空值判断,插入空值
- whereStrategy where条件组装时的字段策略,是否进行控制判断,将空值作为查询条件
②全局配置
在配置文件中添加配置
mybatis-plus:
global-config:
db-config:
update-strategy: IGNORED