在利用 mybatis 对数据将进行插入数据的时候,出现了如下错误:
1 org.springframework.dao.DataIntegrityViolationException: 2 ### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Column 'third_party_id' cannot be null 3 ### The error may involve com.miaoshaproject.dao.UserDOMapper.insert-Inline 4 ### The error occurred while setting parameters 5 ### SQL: insert into user_info (id, name, gender, age, telephone, register_mode, third_party_id) values (?, ?, ?, ?, ?, ?, ?) 6 ### Cause: java.sql.SQLIntegrityConstraintViolationException: Column 'third_party_id' cannot be null 7 ; Column 'third_party_id' cannot be null; nested exception is java.sql.SQLIntegrityConstraintViolationException: Column 'third_party_id' cannot be null
最后检查了代码,发现是在操作数据库的部分,最后定位到数据库字段的设计:在使用 insertSelective 方法的时候,如果数据库字段设置了非空,但是没有给默认值,会出现上面的错误。
又是因为细节问题导致的报错问题,实属不该。