问题分析:
出现这个原因,主要是因为mybatis-plus自身查询的特性,因为查询都是它自己内部设定好的参数,一般为了简便,都会默认自己底层的数据库对应的主键id字段是自增的,也就是mybatis-plus认为不需要id,每次添加数据,直接在原有id基础上+1就行了,因此导致了错误。
解决方法:
方法1:从数据库层面解决(适用于连续数据)
设置id为自增:
这个表名改成你自己的表名:
alter table `燃煤_热电数据` modify id int auto_increment;
效果:
方法2:在后端修改(适用于非连续数据)
有时候,我们并不喜欢让id自增,我们想要按照我们的想法设置id:
先移除数据库中id的自增属性:
(注意改成你自己的表名):
ALTER TABLE `燃煤_热电数据` MODIFY id INT NOT NULL;
然后我们在domain实体层找到实体对象中的id字段,并加上注解:
@TableId(type = IdType.INPUT)
如下:
效果:
可以发现出现了id部分:并且在添加操作的时候添加成功!
好啦!希望能够帮助到大家!