jdbcTemplate.batchUpdate 插入列表不起作用

jdbcTemplate.batchUpdate for list of inserts doesn't work

我的神经细胞耗尽了,我真的需要你们的帮助。

出于某种原因,我无法将答案列表插入数据库

我使用 jdbcTemplate 来做到这一点,我的代码如下所示

public void insertVastaukset(List<Vastaus> vastaukset) {
    final String sql = "insert into vastaus (kysymysID, vastausteksti) values(?,?)";
    getJdbcTemplate().batchUpdate(sql,
            new BatchPreparedStatementSetter() {
                @Override
                public void setValues(PreparedStatement ps, int i)
                        throws SQLException {
                    Vastaus vastaus = vastaukset.get(i);
                    ps.setInt(1, vastaus.getKysymysID());
                    ps.setString(2, vastaus.getVastausteksti());

                }

                @Override
                public int getBatchSize() {
                    return vastaukset.size();
                }
            });}

并且出于某种原因程序没有报错!当我几天前尝试它时,它给了我空指针,但现在它已修复但仍然没有插入到数据库中。请帮帮我,非常感谢!

使用下面的 catch 块检查异常

    int[] updateCounts;
    try {
        updateCounts = getJdbcTemplate().batchUpdate("insert into test123 (id, value) values (?,?)",
                new BatchPreparedStatementSetter() {

                //// YOUR CODE HERE

                });               
    }
     catch (Exception sqle) {
        Throwable s2 = sqle;
        System.out.println("=============v"+s2.getClass().getName()+"=====================");
        while (s2!=null) {
            s2.printStackTrace();
            s2 = s2.getCause();
            if(s2 instanceof java.sql.BatchUpdateException) {
                System.out.println("======================^^^^^^======================");
                ((java.sql.BatchUpdateException) s2).getNextException().printStackTrace();
            }
        }
        throw sqle;
    }