DataIntegrityViolationException异常产生原因及解决方案
01 异常的发生场景
- 在我新写了一个接口之后出现的
//org.springframework.dao.DataIntegrityViolationException
-
日志报错的意思是参数设置了一个错误的值
02 异常的产生及其原因
-
我最开始认为是MySQL数据库表设计的问题,翻来覆去找了半天,确认表设计没问题
-
接着我觉得是前端数据没传过来,因为SQL插入语句有问题
INSERT INTO sys_user_ms_course ( sys_user_id ) VALUES ( ? )
-
测试后确定没问题
-
最后发现犯了最简单的问题,数据库字段名和Java对应类属性名不一致
03 解决方式
- 修改Java对应类属性名
public class SysUserMsCourse {
@ApiModelProperty("角色ID")
private Long sysUserId;
@ApiModelProperty("课程ID")
private Long msCourseId;//修改属性名
}