/ / java.sql.Statement.EXECUTE_FAILED Сценарий през пролетта

java.sql.Statement.EXECUTE_FAILED Сценарий на пролетта JdbcTemplate - java, spring, spring-jdbc, jdbctemplate

Използвам метода org.springframework.jdbc.core.JdbcTemplate.batchUpdate (String, Collection, int, ParameterizedPreparedStatementSetter) в класа Spring jdbcTemplate за извършване на пакетно обновяване.

За да отбележи резултата от пакетната операция, този метод връща масив от масив, съдържащ три кода на състоянието за всеки SQL в пакета.

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.

Очаквах кодът на грешката да бъде върнат в този случай.

Дали някой тук знае, какъв е точният сценарий, когато кодът на грешката на java.sql.Statement.EXECUTE_FAILED се връща от jdbctemplate?

Отговори:

0 за отговор № 1

Това напълно зависи от съответната реализация на JDBC конектора, която ще използвате. Поръчка на MariaDB (далеч по-добрият "CLONE" на mysql) Java Connector как те дават смисъл на тези ценности