gpt4 book ai didi

java - Spring插入后获取id

转载 作者:行者123 更新时间:2023-11-29 07:00:40 25 4
gpt4 key购买 nike

我尝试在 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 查询绑定(bind)到实际进行插入的连接。

为了强制 Spring JdbcTemplate 使用相同的连接,部分代码是在插入之前启动一个事务,并在 last_insert_id 查询之后提交它。

使用@Transactional

Reference

关于java - Spring插入后获取id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26731616/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com