数据库中一个VARCHAR2类型的字段不能为空,于是mybatis 动态映射判断属性是否为null,此时前端传值传了个"" 空字符串,动态sql 并没有起效果,但是oracle 插入的时候会将""字符串转换为null,报错。一切都是巧合。
我又去尝试了一下mysql,mysql并不会发生这样的转换。


总结:
oracle 数据库 插入字符串 只能使用单引号。并且空字符串会被转换成null
mysql 数据库 插入字符串 使用单引号双引号都可以。 不会被转换null

更多推荐

oracle 数据库插入空字符串的坑