/ / java.sql.Statement.EXECUTE_FAILED Scenár na jar JdbcTemplate - java, jar, jar-jdbc, jdbctemplate

java.sql.Statement.EXECUTE_FAILED Scenár na jar JdbcTemplate - java, jar, jar-jdbc, jdbctemplate

Využívam metódu org.springframework.jdbc.core.JdbcTemplate.batchUpdate (String, Collection, int, ParameterizedPreparedStatementSetter) v jarnej triede jdbcTemplate na vykonanie dávkovej aktualizácie.

Aby sme poznamenali výsledok dávkovej prevádzky, táto metóda vracia pole poľa obsahujúce nasledujúce 3 stavové kódy pre každý SQL v dávke.

java.sql.Statement.EXECUTE_FAILED
java.sql.Statement.SUCCESS_NO_INFO
An Integer value greater than 0 stating no. of records affected.

Pokúsil som sa o to poznať pri EXECUTE_FAILEDvráti sa. Takže som sa zámerne pokúsil vložiť záznam, ktorý už existuje v tabuľke, aby operácia zlyhala na DB s chybou pri porušení primárneho kľúča. Zlyhalo, ale dostal som zlyhanie vo forme výnimky:

java.sql.SQLIntegrityConstraintViolationException.

Očakával som, že v tomto prípade bude chybový kód vrátený.

Vie niekto tu, aký je presný scenár, v ktorom je chybový kód java.sql.Statement.EXECUTE_FAILED je vrátená jdbctemplate?

odpovede:

0 pre odpoveď č. 1

To úplne závisí od príslušnej implementácie konektora JDBC, ktorú budete používať. Pokladni MariaDB (oveľa lepšie "CLONE" mysql) Java Connector implementáciu o tom, ako dávajú tieto hodnoty zmysel