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;
}
我的神经细胞耗尽了,我真的需要你们的帮助。
出于某种原因,我无法将答案列表插入数据库
我使用 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;
}