KeyHolder holder = new GeneratedKeyHolder();
jdbcTemplate.update(new PreparedStatementCreator() {
@Override public PreparedStatement createPreparedStatement(Connection conn) throws SQLException {
PreparedStatement ps = conn.prepareStatement(sql, new String[]{ "id" });
ps.setString(1, entity.getName());
ps.setInt(2, entity.getAge());
return ps;
} }, holder);
int id = holder.getKey().intValue();