1

如何将其转换为返回 jdbcTemplate.batchUpdate?

它需要对几个表执行。

@Override

    public int delete(int id) {

        String sql = "update user set deleted=1 where user_id = ?";
        Object[] params = new Object[] { id };
        try {

            return jdbcTemplate.update(sql, params);


        } catch (IncorrectResultSizeDataAccessException e) {
            throw new UserNotFoundException("User.not.found");
        }
    }
4

1 回答 1

0
    @Override
    public void delete(List<Integer> ids) {
        String sql = "update user set deleted=1 where user_id = ?";
        jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter() {

           @Override
           public void setValues(PreparedStatement ps, int i) throws SQLException {
              Integer userId = ids.get(i);
              ps.setLong(1, userId );          
           }

           @Override
           public int getBatchSize() {
              return ids.size();
           }
        });
    }
于 2015-02-23T12:51:46.637 回答