首页 > java jdbcTemplate 反回主键 在PreparedStatement能获取吗

java jdbcTemplate 反回主键 在PreparedStatement能获取吗

@Override
    public Integer save(final Board board) {
        final String sql = "INSERT INTO tz_board(user_id, title, description, category_id, created_at, updated_at, seq) VALUES(?,?,?,?,?,?,?)";
        KeyHolder keyHolder = new GeneratedKeyHolder();
        jdbcTemplate.update(new PreparedStatementCreator() {
            @Override
            public PreparedStatement createPreparedStatement(Connection conn) throws SQLException {
                PreparedStatement ps = jdbcTemplate.getDataSource().getConnection().prepareStatement(sql, new String[]{"user_id", "title", "description", "category_id", "created_at", "updated_at", "seq"});
                ps.setInt(1, board.getUserId());
                ps.setString(2, board.getTitle());
                ps.setString(3, board.getDescription());
                ps.setString(4, board.getCategoryId());
                ps.setLong(5, board.getCreatedAt());
                ps.setLong(6, board.getUpdatedAt());

                ps.setInt(7, "当前返回的主键");

                return ps;
            }
        }, keyHolder);
        return keyHolder.getKey().intValue();
    }

这里能得到主键吗? ps.setInt(7, "当前返回的主键");


你这里要得到主键干嘛用?


有例子:http://bailong139.blog.163.com/blog/static/207238100201331383516951/


mysql的话, 调用

SELECT LAST_INSERT_ID();

http://dev.mysql.com/doc/refman/5.7/en/information-functions.html#function_last-insert-id
http://dev.mysql.com/doc/refman/5.7/en/mysql-insert-id.html

【热门文章】
【热门文章】