使用mybatis-generator-maven-plugin生成mapper.xml带来的Duplicate entry ‘xxx’ for key ‘PRIMARY’问题

问题就是:mysql 出现Duplicate entry ‘xxx’ for key ‘PRIMARY’异常。

在有事务管理的service层实现方法中,同时insert 2个表数据,


因为mapper是由插件自动生成的(使用很方便),如图:


在执行该方法时,第一步成功

add(cardbagItemBO)
第二步插入就失败抛异常了;看控制台打出信息发现
SELECT LAST_INSERT_ID();
与上次查询的值一样(你肯定怀疑我的连接没关闭,其实我用的org.mybatis.spring.SqlSessionTemplate);之后,我记得mysql是支持
useGeneratedKeys返回主键id,然后就改成图2那样成功了。

我的项目架构比较复杂,dubbo+spring+mybatis+vue引擎渲染,没时间折腾了,好歹解决了。