java – 当我通过jdbctemplate在表中插入一个记录时,如何获取自动增量的id
发布时间:2020-05-24 14:56:28 所属栏目:Java 来源:互联网
导读:private void insertIntoMyTable (Myclass m) { String query = INSERT INTO MYTABLE (NAME) VALUES (?); jdbcTemplate.update(query, m.getName());} 当上述查询插入一条记录时,表中的ID列会自动增加. 有没有办法在插入时取回自动递增的ID.所以在
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 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
