Java 即使batchUpdate Spring JdbcTemplate中的1次插入失败,也要继续插入
下面的方法将插入学生记录列表 公共作废项目插入列表(最终列表myPojoList){Java 即使batchUpdate Spring JdbcTemplate中的1次插入失败,也要继续插入,java,spring,error-handling,jdbctemplate,spring-jdbc,Java,Spring,Error Handling,Jdbctemplate,Spring Jdbc,下面的方法将插入学生记录列表 公共作废项目插入列表(最终列表myPojoList){ 问题:-假设5条记录中某列的值太大,则执行将停止。我希望即使插入第5条记录失败,执行仍将继续。使用oracle.jdbc.driver.OracleDriver复制到。插入包含无效数据的记录时,我会遇到以下异常---“main”线程中的异常org.springframework.jdbc.UncategorizedSQLException:PreparedStatementCallback;SQL的未分类SQL
问题:-假设5条记录中某列的值太大,则执行将停止。我希望即使插入第5条记录失败,执行仍将继续。使用oracle.jdbc.driver.OracleDriver复制到。插入包含无效数据的记录时,我会遇到以下异常---“main”线程中的异常org.springframework.jdbc.UncategorizedSQLException:PreparedStatementCallback;SQL的未分类SQLException[插入到学生(姓名、年龄)值(?,)];SQL状态[72000];错误代码[12899];ORA-12899:列“CIBESDBO”“学生”“名称”的值太大(实际值:25,最大值:20);嵌套异常为java.sql.BatchUpdateException:ORA-12899:值对于列“CIBESDBO”“STUDENT”“NAME”(实际值:25,最大值:20)太大,我需要继续插入。
String sql = "INSERT INTO " + "Student " + "(name,age) " + "VALUES "
+ "(?,?)";
jdbcTemplateObject.batchUpdate(sql, new BatchPreparedStatementSetter() {
@Override
public void setValues(PreparedStatement ps, int i)
throws SQLException {
Student myPojo = myPojoList.get(i);
ps.setString(1, myPojo.getName());
ps.setInt(2, myPojo.getAge());
}
@Override
public int getBatchSize() {
return myPojoList.size();
}
});
}