3

嗨,这是他们在 spring jdbctemplate 中将 autocommit 设置为 false 的一种方式。

事情不是事务(它们是回滚选项),我想在事务结束时提交查询。

所以而不是

插入——>提交——>回滚。

我想要插入 --> 失败 --> (不提交)。

4

2 回答 2

6

我不明白你的整个问题,但我可以回答第一部分:有没有办法在 spring jdbctemplate 中将 autocommit 设置为 false?

自动提交配置通常在连接本身上设置。ConnectionDatasource. _ 由于JdbcTemplate没有选项可以在它请求到数据源的连接中手动禁用自动提交,因此实现此目的的方法是使用默认设置为的Datasource连接。autocommitfalse

这个使用 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>
于 2013-02-19T18:19:41.150 回答
0

我试图抓住你的问题,并且有一些想法可以解决它们。设置autocommitfalse春天的方式jdbctemplate

  1. defaultAutoCommit属性设置DataSourcefalse
  2. 您可以通过编写如下代码来提交或回滚:

    jdbcTemplate.getDataSource().getConnection.commit();
    jdbcTemplate.getDataSource().getConnection.rollback();
    
于 2017-03-08T05:34:54.630 回答