java – 当我通过jdbctemplate在表中插入一个记录时,如何获取自
发布时间:2020-12-15 00:22:19 所属栏目: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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |