关于Spring 整合 Mybatis 后,insert操作不返回ID的问题

搜索引擎关于这个问题找了很多,大部分给出的解释就是:
<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" />


这行引起了我的留意,然后我注释这行配置,成功解决。
具体原因暂时没时间写,回头再补上吧。

猜你喜欢

转载自tea-pig.iteye.com/blog/2195818