生活随笔
收集整理的這篇文章主要介紹了
spring配置JDBC事务
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
http://www.iteye.com/problems/2951
?
Spring+JDBC事務配置
懸賞:10 發布時間:2008-08-19 提問人:charity_lan (初級程序員)
< > 獵頭職位:
上海: 資深架構師 Java代碼 ?
<?xml?version="1.0"?encoding="UTF-8"?> ??<!DOCTYPE?beans?PUBLIC?"-//SPRING//DTD?BEAN//EN"?"http://www.springframework.org/dtd/spring-beans.dtd"> ??<beans> ?????? ???????<bean?id="dataSource"??????????class="org.apache.commons.dbcp.BasicDataSource"??????????destroy-method="close"> ??????????<property?name="driverClassName"?? ??????????????value="com.mysql.jdbc.Driver"?/> ??????????<property?name="url"? ??????????value="jdbc:mysql://localhost:3306/mucun?useUnicode=true&characterEncoding=utf-8&useOldAliasMetadataBehavior=true"></property> ??????????<property?name="username"?value="root"></property>?? ??????????<property?name="password"?value=""></property>?????????? ??????????<property?name="validationQuery"?value="select?1"?/>?????????????? ??????????<property?name="maxIdle"?value="5"?/>? ??????????<property?name="maxWait"?value="100"?/>?? ??????????<property?name="maxActive"?value="20"?/> ??????</bean> ????????<bean?id="transactionManager"??????????class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> ??????????<property?name="dataSource"> ??????????????<ref?local="dataSource"?/> ??????????</property> ??????</bean>??? ?????? ??????<bean?id="abstractTxDefine"?lazy-init="true"??????????class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> ??????????<property?name="transactionManager"> ??????????????<ref?bean="transactionManager"?/> ??????????</property> ??????????<property?name="transactionAttributes"> ??????????????<props> ??????????????????<prop?key="*">PROPAGATION_REQUIRED,-Exception</prop> ??????????????</props> ??????????</property>????????? ??????</bean> ??????? ??????<bean?id="sqlMapClient"??????????class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> ??????????<property?name="configLocation"> ??????????????<value>WEB-INF/classes/sqlMapConfig.xml</value> ??????????</property> ??????????<property?name="dataSource"> ??????????????<ref?bean="dataSource"></ref> ??????????</property> ??????</bean> ??????<bean?id="sqlMapDao"??????????class="com.charity.common.dao.impl.SqlMapDaoUtilsImp"> ??????????<property?name="sqlMapClient"?ref="sqlMapClient"/> ??????</bean>? ????????<bean?id="jdbcDao"?class="com.charity.common.dao.impl.JdbcDaoUtilsImp"> ??????????<property?name="dataSource">?? ??????????????<ref?local="dataSource"?/> ??????????</property> ??????</bean> ?????? ??????<bean?id="serviceManager"?lazy-init="true"? ??????????class="com.charity.common.service.impl.ServiceManager"> ??????????<property?name="sqlMapDao"> ??????????????<ref?bean="sqlMapDao"?/> ??????????</property> ??????????<property?name="jdbcDao"> ??????????????<ref?bean="jdbcDao"?/> ??????????</property> ??????</bean> ?????? ??????<bean?id="multiTableFormdataService"?parent="abstractTxDefine"> ??????????<property?name="target"> ??????????????<bean?parent="serviceManager"??????????????????class="com.charity.common.service.impl.MultiTableFormdataService"> ??????????????</bean> ??????????</property> ??????</bean> ??</beans>?? <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans><bean id="dataSource"class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close"><property name="driverClassName" value="com.mysql.jdbc.Driver" /><property name="url" value="jdbc:mysql://localhost:3306/mucun?useUnicode=true&characterEncoding=utf-8&useOldAliasMetadataBehavior=true"></property><property name="username" value="root"></property> <property name="password" value=""></property> <property name="validationQuery" value="select 1" /> <property name="maxIdle" value="5" /> <property name="maxWait" value="100" /> <property name="maxActive" value="20" /></bean><bean id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource"><ref local="dataSource" /></property></bean> <bean id="abstractTxDefine" lazy-init="true"class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"><property name="transactionManager"><ref bean="transactionManager" /></property><property name="transactionAttributes"><props><prop key="*">PROPAGATION_REQUIRED,-Exception</prop></props></property> </bean><bean id="sqlMapClient"class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"><property name="configLocation"><value>WEB-INF/classes/sqlMapConfig.xml</value></property><property name="dataSource"><ref bean="dataSource"></ref></property></bean><bean id="sqlMapDao"class="com.charity.common.dao.impl.SqlMapDaoUtilsImp"><property name="sqlMapClient" ref="sqlMapClient"/></bean> <bean id="jdbcDao" class="com.charity.common.dao.impl.JdbcDaoUtilsImp"><property name="dataSource"> <ref local="dataSource" /></property></bean><bean id="serviceManager" lazy-init="true" class="com.charity.common.service.impl.ServiceManager"><property name="sqlMapDao"><ref bean="sqlMapDao" /></property><property name="jdbcDao"><ref bean="jdbcDao" /></property></bean><bean id="multiTableFormdataService" parent="abstractTxDefine"><property name="target"><bean parent="serviceManager"class="com.charity.common.service.impl.MultiTableFormdataService"></bean></property></bean>
</beans>
class MultiTableFormdataService extends ServiceManager{
????? 實現業務代碼
}
class ServiceManager {
?? jdbcDao;
?? sqlMapDao;
??
}
問題:
結果是在MultiTableFormdataService 類中多表保存,并沒有因為某條語句錯誤而產生事務回滾。
不知道問什么,請指教
采納的答案
2008-08-19 lggege (架構師)
Java代碼 ?
<bean?id="abstractTxDefine"?lazy-init="true"?? ??????????class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">??? <bean id="abstractTxDefine" lazy-init="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
Java代碼 ?
<bean?id="multiTableFormdataService"?parent="abstractTxDefine">???? <bean id="multiTableFormdataService" parent="abstractTxDefine">
所以, 已經給multiTableFormdataService加了事務.
建議LZ查看自己mysql的engine是否不是InnoDB的.
Sql代碼 ?
show?table?status?from?table_name;???
總結
以上是生活随笔為你收集整理的spring配置JDBC事务的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。