私はトランザクションをセットアップしようとしていますが、成功していません。ここ は私のコードです:myBatisとSpringでトランザクションをセットアップする方法
<tx:annotation-driven transaction-manager="transactionManager" />
<bean id="dataSource" class="org.apache.ibatis.datasource.pooled.PooledDataSource">
.......
<property name="defaultAutoCommit" value="false" />
</bean>
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="configLocation" value="classpath:mybatis-configuration.xml" />
<property name="dataSource" ref="dataSource" />
</bean>
@Transactional
private void prcessTransaction(...) {
delete(...);
//insert:
for(Item item: itemList){
insert(item)
}
}
<delete id="delete" parameterType="map">
delete from .....
</delete>
<insert id="insert" parameterType="Item">
insert into ....
</insert>
そのprcessTransaction方法1つのトランザクションが、複数のトランザクションのセットだけではないように見えます。
私は、Oracle 11.1.0.6.0、助けのための
おかげで春3.0.5、MyBatisの3.0.4、MyBatisのスプリング-1.0.1、Tomcatの7.0.19を使用しています。
あなたは 'getSqlMapClientTemplate'(Spring API)を呼び出しているのですか、iBATIS APIを使ってiBATIS呼び出しを発行していますか? – atrain
私はiBatisコールを使用しています。 – user802293
データベースはトランザクションをサポートしていますか? – kurochenko