**
达梦数据库 mybatis-plus
表中主键设置为自增长时,插入数据报错
**
创建表时设置了主键为自增长,在插入数据是由于mybatis-plus会自动插入一个id到实体对象,报类型不匹配的错误,错误如下
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: Could not set property ‘id’ of ‘class com.css.modules.pro.entity.ProResult’ with value ‘59e46f7414146a56813071acea920c6e’ Cause: java.lang.IllegalArgumentException: argument type mismatch\r\n\tat org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)\r\n\tat org.mybatis.spring.SqlSessionTemplateKaTeX parse error: Can't use function '\r' in math mode at position 58: …plate.java:440)\̲r̲\n\tat com.sun.…Proxy110.insert(Unknown Source)\r\n\tat org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:271)\r\n\tat com.baomidou.mybatisplus.core.override.
解决方案:
1.将id字段类型改为long
2.在实体类中主键id字段上添加注解如下
@TableId(value = “ID”,type = IdType.AUTO)
value后面对应的是数据库中的字段名
type为AUTO,表示“数据库ID自增”