java – 当我通过jdbctemplate在表中插入一个记录时,如何获取自动增量的id

前端之家收集整理的这篇文章主要介绍了java – 当我通过jdbctemplate在表中插入一个记录时,如何获取自动增量的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

猜你在找的Java相关文章