场景:前端修改给后台传递了几个空字符串。后台使用mybatisPlus 作为dao层。结果发现空字符串也更新了,mybatisPlus 的field-strategy设置为 2 非空;
解决思路:查看mybatisPlus 版本差异。发现field-strategy已经弃用,从3.1.2 后使用下面这几个配置对非空进行判断
insertStrategy
- 类型:
com.baomidou.mybatisplus.annotation.FieldStrategy
- 默认值:
NOT_NULL
字段验证策略之 insert
说明:
在 insert 的时候的字段验证策略 目前没有默认值,等 {@link #fieldStrategy} 完全去除掉,会给个默认值 NOT_NULL 没配则按 {@link #fieldStrategy} 为准
#updateStrategy
- 类型:
com.baomidou.mybatisplus.annotation.FieldStrategy
- 默认值:
NOT_NULL
字段验证策略之 update
说明:
在 update 的时候的字段验证策略 目前没有默认值,等 {@link #fieldStrategy} 完全去除掉,会给个默认值 NOT_NULL 没配则按 {@link #fieldStrategy} 为准
#selectStrategy(since 3.1.2)
- 类型:
com.baomidou.mybatisplus.annotation.FieldStrategy
- 默认值:
NOT_NULL
字段验证策略之 select
说明:
在 select 的时候的字段验证策略: wrapper 根据内部 entity 生成的 where 条件 目前没有默认值,等 {@link #fieldStrategy} 完全去除掉,会给个默认值 NOT_NULL 没配则按 {@link #fieldStrategy} 为准
网友评论