通过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

回到顶部