通过jdbctemplate在表中插入记录时,如何获取自动递增的id
private void insertIntoMyTable (Myclass m) { String query = "INSERT INTO MYTABLE (NAME) VALUES (?)";
jdbcTemplate.update(query, m.getName());
}
当上述查询插入一条记录时,ID
表中的列将自动递增。
有没有办法在插入时取回此自动递增的ID。因此,在此示例中,我的方法的返回值为int
回答:
检查此参考。您可以将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
以上是 通过jdbctemplate在表中插入记录时,如何获取自动递增的id 的全部内容, 来源链接: utcz.com/qa/414273.html