2012-05-24 53 views
1

嗨他們是一種在春季jdbctemplate中將自動提交設置爲false的方法。spring 3.1:jdbcTemplate自動提交爲false。

事情是事務而不是事務(其中他們是回滾選項),我想在事務結束時提交查詢。

因此,而不是

insert - > commit - > rollback。

我想insert - > fail - >(no commit)。

回答

4

我不明白你的整個問題,但我可以回答第一部分:有沒有辦法在spring jdbctemplate中將autocommit設置爲false?

自動提交配置通常設置在連接本身上。 ConnectionDatasource創建。由於JdbcTemplate沒有手動禁用它向數據源請求的連接中的自動提交的選項,因此實現此目的的方式是使用Datasource,該默認設置爲autocommit設置爲false

使用Apache公地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> 
0

我想抓住你的問題,並有一些想法來解決這些問題。 的方式在Spring的JdbcTemplate設置自動提交爲false:

  1. 數據源的設置defaultAutoCommit屬性設置爲false。 。
  2. 您可以通過如下的代碼編寫提交或回滾:

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