关于Spring 整合 Mybatis 后,insert操作不返回ID的问题
程序员文章站
2022-05-18 21:37:47
...
搜索引擎关于这个问题找了很多,大部分给出的解释就是:
可是我在实际使用中,在service层做了注解型配置事务,当一个事务未执行完,select LAST_INSERT_ID() 这行SQL当做单独一个原子操作,不会立即执行。会等到insert操作完毕后,才会执行。
接着我开始排查Mybatis的配置
这行引起了我的留意,然后我注释这行配置,成功解决。
具体原因暂时没时间写,回头再补上吧。
<selectKey keyProperty="id" resultType="int" order="AFTER"> select LAST_INSERT_ID() </selectKey>
可是我在实际使用中,在service层做了注解型配置事务,当一个事务未执行完,select LAST_INSERT_ID() 这行SQL当做单独一个原子操作,不会立即执行。会等到insert操作完毕后,才会执行。
接着我开始排查Mybatis的配置
<setting name="defaultExecutorType" value="BATCH" />
这行引起了我的留意,然后我注释这行配置,成功解决。
具体原因暂时没时间写,回头再补上吧。