嗨,他们是一种在spring jdbctemplate中将autocommit设置为false的方法。
事情不是事务(它们是回滚选项),我希望在事务结束时提交查询。
所以而不是
插入 - >提交 - >回滚。
我想要插入 - >失败 - > (没有提交)。
答案 0 :(得分:5)
我不明白你的整个问题,但我可以回答第一部分:有没有办法在spring jdbctemplate中将autocommit设置为false?
自动提交配置通常在连接本身上设置。 Connection
由Datasource
创建。由于JdbcTemplate
没有选择在其请求数据源的连接中手动禁用自动提交,因此实现此目的的方法是使用Datasource
创建与autocommit
设置为的连接默认情况下为false
。
使用apache commons BasicDataSource
的示例配置实现了:
<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>
答案 1 :(得分:0)
我试图抓住你的问题,并且有一些想法可以解决它们。
在autocommit
false
中将jdbctemplate
设置为defaultAutoCommit
的方式:
DataSource
的{{1}}属性设置为false
。 您可以通过编写代码进行提交或回滚,如下所示:
jdbcTemplate.getDataSource().getConnection.commit();
jdbcTemplate.getDataSource().getConnection.rollback();