日期:2014-05-16 浏览次数:20559 次
今天项目中遇到了需要返回插入数据的id 的一项业务(数据库id自动增长),数据库连接使用spring jdbctemplate,网上查了一下发现结合spring使用的比较少,所以记录下我的实现方法:
final Star star = getStarInfo(); KeyHolder keyHolder = new GeneratedKeyHolder(); row = this.jt.update(new PreparedStatementCreator() { @Override public PreparedStatement createPreparedStatement(Connection con) throws SQLException { PreparedStatement ps = con.prepareStatement("insert into `star`(`stype`,`name`) values (?,?)", Statement.RETURN_GENERATED_KEYS); ps.setInt(1, star.getStype()); ps.setString(2, star.getName()); return ps; } }, keyHolder); // 获取插入记录的id Long generatedId = keyHolder.getKey().longValue();
??
这里的generatedId 就是刚刚插入那条记录的ID. 注意Statement.RETURN_GENERATED_KEYS一定要加上.
?