ibatis 配置事务如下(applicationContext-dao.xml):
<!-- 数据源配置 --> <bean id="dbtec2" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"></property> <property name="url" value="jdbc:mysql://${dbtec2.ip}:3306/dbtec2?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull"></property> <property name="username" value="${dbtec2.username}"></property> <property name="password" value="${dbtec2.password}"></property> <property name="maxActive" value="100"></property> <property name="maxIdle" value="30"></property> <property name="maxWait" value="500"></property> <property name="defaultAutoCommit" value="false"></property> </bean> <!-- 数据源注入session工厂 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 映射MYBATIS的XML文件 --> <property name="mapperLocations" value="classpath*:com/octlink/tec2/bus/dao/*.xml" /> <!-- 引用数据源 --> <property name="dataSource" ref="dbtec2" /> <!-- 数据类型别名 --> <property name="typeAliasesPackage" value="com.octlink.tec2.model" /> </bean> <bean id="transactionManagerForIbatis" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dbtec2" /> </bean> <tx:advice id="txAdvice" transaction-manager="transactionManagerForIbatis"> <tx:attributes> <tx:method name="get*" read-only="true" /> <tx:method name="insert*" propagation="REQUIRED" /> <tx:method name="delete*" propagation="REQUIRED" /> <tx:method name="update*" propagation="REQUIRED" /> <tx:method name="*" propagation="REQUIRED" /> </tx:attributes> </tx:advice> <aop:config proxy-target-class="false"> <aop:pointcut id="serviceMethod" expression="execution(* com.octlink.tec2.bus.system.*.service.*.*.*(..))" /> <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceMethod" /> </aop:config>
Spring (spring-servlet):
<!-- 自动扫描bean,把作了注解的类转换为bean --> <context:component-scan base-package="com.octlink.tec2.bus.system.*.controller" />
注意:配置不正确导致回滚失败。如果spring-servlet文件扫描组件时,包含了service层,在事务控制的过程中引入的不是applicationContext-dao里面定义的service,这样就没事务控制了,导致事务失败。所以扫描组件时,不要包含service层。
相关推荐
很好的spring+ibatis事务的配置文档.
SPRING与IBATIS整合采用保留IBATIS事务,可自己控制回滚!
struts2+spring+ibatis+mysql AOP日志管理,异常捕获 tomcat6.0+jdk1.6
struts+spring+ibatis做的一个增删改查例子
有关Struts2+Spring+Hibernate和Struts2+Spring+Ibatis的整合实例demo 原创,完全基于eclipse开发
struts+spring+ibatis的Demo struts+spring+ibatis的Demo struts+spring+ibatis的Demo
struts2+spring+Ibatis框架包
webwork+spring+ibatis很适合初学者的实例
里面有spring+struts2+ibatis整合的jar包,
是不是好东西你们去鉴定,SpringMVC + Spring + ibatis 可以配置多数据源,这个Demo 扩展性极强,就看你们自己如何发挥。
JSF+Spring+Ibatis示例,对学习JAVA企业应用开发有巨大的帮助!
struts2+spring+ibatis+oracle+分页搜索+上传附件实例!完整版!
maven3+struts2+spring+ibatis,本来是用maven3+struts2+spring+hibernate但考虑到hibernate在多表级联查询的时候执行效率不高,所以改用性能更好不过sql比较麻烦的的ibatis,本项目只有登录和插入数据,仅供参考: ...
struts2 + spring + ibatis 实例 struts2 + spring + ibatis 实例 struts2 + spring + ibatis 实例 struts2 + spring + ibatis 实例 struts2 + spring + ibatis 实例
spring+ibatis+oracle分页缓存源码
struts2+spring+ibatis的小demo
一个简单的struts+spring+ibatis示例的源码,在源码中包含一个简单的分布功能
struts+spring+ibatis框架集成.pdf
struts2+spring+ibatis项目实例
自己总结了Spring+Struts+ibatis中的各种问题以及讲解各个配置文件和项目架构