jdbcTemplate 插入数据到oracle 获得id

zvc888 发布于 2016/05/07 12:59
阅读 189
收藏 0
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}]

jdbcTemplate 插入数据到oracle 获得id 有时候正常,有时候java.sql.SQLException: 索引中丢失  IN 或 OUT 参数:: 


加载中
返回顶部
顶部