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