Mybatis-Plus的insert方法自动执行两次
时间: 2024-01-05 10:02:39 浏览: 288
MybatisPlus是⼀个MyBatis的增强⼯具
Mybatis-Plus 的 `insert` 方法默认情况下是不会执行两次的,在调用 `insert` 方法时只会执行一次插入操作。如果出现了插入操作执行了两次的情况,可能是以下原因导致的:
1. 代码中重复调用了 `insert` 方法,导致插入操作执行了两次。
2. 数据库主键自增策略配置错误,导致插入操作插入失败,但是插入的数据已经被缓存,再次调用 `insert` 方法时会将缓存中的数据再次插入到数据库中。
如果是第一种情况,只需要检查代码中是否重复调用了 `insert` 方法即可。如果是第二种情况,需要检查数据库表的主键自增策略是否配置正确,以及是否存在主键冲突等问题。
如果你使用的是 MySQL 数据库,可以尝试将主键自增策略改为 `IDENTITY`,在执行插入操作时,MySQL 会自动插入主键值,避免了主键冲突的问题,具体的实现方式如下:
```java
@TableId(type = IdType.IDENTITY)
private Long id;
```
如果还有问题,可以提供更多的代码和错误信息,方便我们更好地解决问题。
阅读全文