我尝试在Spring中插入后检索id,但是此解决方案不起作用:
String sqlquery2 = "INSERT into tab (attr1,attr2) VALUES (?,?)";
String sql1 ="select last_insert_id()";
jdbcTemplateObject.update(sqlquery2, value1, value2);
int id = jdbcTemplateObject.update(sql1);
对于每个jdbc访问,Spring对其连接池使用一个连接。
因此,它可以使用其池中的一个连接进行插入,并使用另一个连接来进行last_insert_id查询。
问题是last_insert_id查询绑定到实际进行插入的连接。
为了强制Spring JdbcTemplate在一部分代码中始终使用相同的连接,是在插入之前启动一个Transaction,并在last_insert_id查询之后提交它。
使用 @Transactional
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句