gpt4 book ai didi

java - 通过 jdbctemplate 在表中插入记录时如何获取自动增量 ID

转载 作者:IT老高 更新时间:2023-10-29 00:16:14 24 4
gpt4 key购买 nike

private void insertIntoMyTable (Myclass m) {
String query = "INSERT INTO MYTABLE (NAME) VALUES (?)";
jdbcTemplate.update(query, m.getName());
}

当上述查询插入记录时,表中的 ID 列会自动递增。

有没有办法在插入时取回这个自动递增的 ID。所以在这个例子中,我的方法的返回值是 int

最佳答案

检查 this reference.您可以将 jdbcTemplate.update 用作:

编辑按要求添加导入

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.PreparedStatementCreator;
import org.springframework.jdbc.support.GeneratedKeyHolder;
import org.springframework.jdbc.support.KeyHolder;

以下是代码用法:

final String INSERT_SQL = "insert into my_test (name) values(?)";
final String name = "Rob";
KeyHolder keyHolder = new GeneratedKeyHolder();
jdbcTemplate.update(
new PreparedStatementCreator() {
public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
PreparedStatement ps =
connection.prepareStatement(INSERT_SQL, new String[] {"id"});
ps.setString(1, name);
return ps;
}
},
keyHolder);
// keyHolder.getKey() now contains the generated key

关于java - 通过 jdbctemplate 在表中插入记录时如何获取自动增量 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12882874/

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