final String sql = "INSERT INTO game_user(user_id,nickname,user_account,create_time) VALUES(game_user_id.nextval,?,?,sysdate)";
KeyHolder kh = new GeneratedKeyHolder();
this.getJdbcTemplate().update(new PreparedStatementCreator() {
@Override
public PreparedStatement createPreparedStatement(Connection con) throws SQLException {
PreparedStatement ps = con.prepareStatement(sql,new String[]{"user_id"});
ps.setString(1, nickname);
ps.setString(2, userAccount);
return ps;
}
},kh);
List<Map<String, Object>> n = kh.getKeyList();
if(n != null && !n.isEmpty()) {
return (Integer) n.get(0).get("user_id");
}
// [{USER_ID=40}]
多执行几次就报错??????
这是因为durid版本太低