我正在使用Spring jdbcTemplate类中的org.springframework.jdbc.core.JdbcTemplate.batchUpdate(String,Collection,int,ParameterizedPreparedStatementSetter)方法来执行批量更新。
要注意批处理操作的结果,此方法将返回一个数组数组,其中包含批处理中每个SQL的以下3个状态代码。
java.sql.Statement.EXECUTE_FAILED
java.sql.Statement.SUCCESS_NO_INFO
An Integer value greater than 0 stating no. of records affected.
我试图了解返回EXECUTE_FAILED时的情况。因此,我故意尝试插入已存在于表中的记录,以便在主键冲突错误的DB上操作失败。它失败了,但我以异常的形式收到了失败:
java.sql.SQLIntegrityConstraintViolationException.
我希望在这种情况下返回错误代码。
这里有没有人知道,当jdbctemplate返回错误代码java.sql.Statement.EXECUTE_FAILED
时的确切情况是什么?
答案 0 :(得分:0)
这完全取决于您将使用的相关JDBC连接器实现。 查看MariaDB(The far better "CLONE" of mysql) Java Connector 实现他们如何赋予这些价值观意义