PreparedStatement等效于JDBCTemplate.update(String,Object [])?

时间:2011-06-22 18:23:21

标签: prepared-statement jdbctemplate

所以我一直lead to believe这是使用JDBCTemplate从数据库获取自动生成的ID值的最有效方法:

KeyHolder keyHolder = new GeneratedKeyHolder();
jdbcTemplate.update(
    new PreparedStatementCreator() {
        public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
            PreparedStatement ps =
                connection.prepareStatement(INSERT_SQL, new String[] {"ID_FIELD"});
            // Configure the PreparedStatement HERE!
            return ps;
        }
    },
    keyHolder);

我的问题是我经常插入可变数量的值(JDBCTemplate.update(String, Object[])实际上正是我需要的),看起来PreparedStatement允许一次插入一个({{{ 1}}等等。通过阵列循环似乎是如此......不优雅。

1 个答案:

答案 0 :(得分:0)

嗯,因为这是一个风滚草,我猜测没有其他方法可以做到这一点。我最终创建了一个类来处理这个问题,以便我可以解决 final 的要求。