我将mysql的数据表的某个字段设置了默认值为1,当向该表插入数据的时候该字段的值不是默认值,而是null。
原因:
对数据库的操作我使用了持久化工具mybatis,插入数据的时候插入的是整个实体,直接使用的是持久层的insert(实体对象)方法插入的数据
这样就会出现一个问题,当实体对象中某个属性值为空时,对应的数据库的字段就会插入null值,而默认值是插入时不指定该字段,该字段的值才会取默认值。
所以这里我是向设置了默认值的字段插入了null,才导致出现上述错误。
解决方法:
这时候我改用insertSelective(实体对象)
方法插入实体对象就不会出现上述问题了
- 注意这个地方 他是动态组装条件