开发者社区 问答 正文

jdbcTemplate插入MYSQL时怎么返回主键ID

@Override
    public Integer add(Board board) {
        String sql = "INSERT INTO tz_board(title, description) VALUES(?,?)";
        jdbcTemplate.update(sql, board.getTitle(), board.getDescription());
        Integer boardId = jdbcTemplate.
        return boardId;
    }

不知道我这样写对不对
Integer boardId = jdbcTemplate.

展开
收起
蛮大人123 2016-02-29 17:15:04 4069 分享 版权
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪
    KeyHolder keyHolder = new GeneratedKeyHolder();
    jdbcTemplate.update( new PreparedStatementCreator(){
                        @Override
                       public PreparedStatement createPreparedStatement(Connection conn) throws SQLException{
                            PreparedStatement ps = conn.prepareStatement(SQL_ADD, new String[] {}); 
                            ps = conn.prepareStatement(YOUR_SQL_SCRIPT, Statement.RETURN_GENERATED_KEYS);
                            ps.setString(1, "TEST");
                            ps.setInt(2, 1);
                            //...
    
                            return ps;
                        }
                    },
                    keyHolder);
    return keyHolder.getKey().intValue();
    2019-07-17 18:50:37
    赞同 展开评论