usar springframework metodos como close transactions jdbctemplate autocommit

transactions - springframework - primavera 3.1: jdbcTemplate auto commit a falso.



spring jdbctemplate spring boot (2)

No entendí toda su pregunta, pero puedo responder la primera parte: ¿Hay alguna manera de establecer autocommit en false en la jdbctemplate de primavera?

La configuración de confirmación automática normalmente se establece en la conexión misma. La Connection es creada por Datasource . Como JdbcTemplate no tiene una opción para deshabilitar manualmente la confirmación automática en las conexiones que solicita al origen de datos, la forma de lograrlo es mediante el uso de un Datasource que crea conexiones con el autocommit establecido en false de manera predeterminada.

Esta configuración de ejemplo que usa Apache commons BasicDataSource logra que:

<bean id="database" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource"> <bean class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> ... <property name="defaultAutoCommit" value="false" /> ... </bean> </property> </bean>

Hola, es una manera de establecer autocommit en false en jdbctemplate de primavera.

Lo que ocurre es que en lugar de la transacción (donde su opción es la reversión), quiero que la consulta se confirme al final de la transacción.

Entonces, en lugar de

insert -> commit -> rollback.

Quiero insertar -> fallar -> (sin compromiso).


Traté de captar tu pregunta, y hay algunas ideas para resolverlas. La forma de configurar autocommit en false en la primavera jdbctemplate:

  1. Establezca la propiedad defaultAutoCommit de DataSource en falso.
  2. Puede confirmar o retrotraer escribiendo códigos como a continuación:

    jdbcTemplate.getDataSource (). getConnection.commit (); jdbcTemplate.getDataSource (). getConnection.rollback ();