项目思路:
spring+mybatis+struts2
1、struts2负责封装数据信息map传到service。
2、soa反射调用service方法
3、service 方法规定单参数(map)
4、service继承SqlSessionDAOSupport
5、每一个sqlsession创建一个事务,不使用spring管理事务
1-5都实现了,但是差强人意的是 第五步。使用mybatis的ManagedTransactionFactory 程序走完后没有提交数据到数据库 。把代码贴出来大家帮我分析分析。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- 数据源配置 -->
<bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<value>classpath:jdbc.properties</value>
</property>
</bean>
<!-- dataSource 配置 -->
<bean id="dataSource" destroy-method="close"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="maxActive" value="${jdbc.maxActive}" />
<property name="defaultAutoCommit" value="false"></property>
</bean>
<!--配置mybatis的 sqlSessionFactory工厂配置 -->
<bean id="sqlSessionFactory"
class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="transactionFactory">
<bean
class="org.apache.ibatis.transaction.managed.ManagedTransactionFactory" />
</property>
<property name="configLocation"
value="classpath:mybatis-config.xml" />
<!-- <property name="mapperLocations" value="classpath*:com/xxt/ibatis/dbcp/domain/user.map.xml"/ > -->
</bean>
<!-- 采用抽象类org.mybatis.spring.support.SqlSessionDaoSupport提供SqlSession。 -->
<bean id="sqlSession" class="org.mybatis.spring.support.SqlSessionDaoSupport"
lazy-init="true">
<constructor-arg index="0" ref="sqlSessionFactory" />
</bean>
</beans>MyBatisSpring事务
spring+mybatis+struts2
1、struts2负责封装数据信息map传到service。
2、soa反射调用service方法
3、service 方法规定单参数(map)
4、service继承SqlSessionDAOSupport
5、每一个sqlsession创建一个事务,不使用spring管理事务
1-5都实现了,但是差强人意的是 第五步。使用mybatis的ManagedTransactionFactory 程序走完后没有提交数据到数据库 。把代码贴出来大家帮我分析分析。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- 数据源配置 -->
<bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<value>classpath:jdbc.properties</value>
</property>
</bean>
<!-- dataSource 配置 -->
<bean id="dataSource" destroy-method="close"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="maxActive" value="${jdbc.maxActive}" />
<property name="defaultAutoCommit" value="false"></property>
</bean>
<!--配置mybatis的 sqlSessionFactory工厂配置 -->
<bean id="sqlSessionFactory"
class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="transactionFactory">
<bean
class="org.apache.ibatis.transaction.managed.ManagedTransactionFactory" />
</property>
<property name="configLocation"
value="classpath:mybatis-config.xml" />
<!-- <property name="mapperLocations" value="classpath*:com/xxt/ibatis/dbcp/domain/user.map.xml"/ > -->
</bean>
<!-- 采用抽象类org.mybatis.spring.support.SqlSessionDaoSupport提供SqlSession。 -->
<bean id="sqlSession" class="org.mybatis.spring.support.SqlSessionDaoSupport"
lazy-init="true">
<constructor-arg index="0" ref="sqlSessionFactory" />
</bean>
</beans>MyBatisSpring事务
解决方案 »
- 不显示删除回复显示所有回复显示星级回复显示得分回复 超链接下载 压缩包被直接打开问题
- 关于多线程
- java中使用xerces修改xml文件后,如何保存文件才能保证属性的顺序不变?
- Struts <logic:iterate> 标签问题
- JSP从数据库读取图片显示在表单里出现错误,求解~~~
- hibernate报is not mapped错!何解????????????
- Tomcat 5.0.x 中的JSP页面是不是必须放在 xxxxx\ROOT\下呀,能不能去掉ROOT
- 如何隐藏JTable中的某一列
- 一个struts标记语问题,马上给分!!!
- 有大虾知道javax.jnlp是什么包么?哪儿有这个包啊??????
- hibernate access 如何自动建表 坐等高手
- 关于spring和hibernate整合的问题 急!!!
还是spring的事务好用点
<!-- transaction manager, use JtaTransactionManager for global tx -->
<bean id="txManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dynamicDataSource" />
</bean> <bean id="autoProxyCreator"
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="proxyTargetClass" value="false" />
<property name="beanNames">
<list>
<value>*Service</value>
</list>
</property>
<property name="interceptorNames">
<list>
<value>transactionInterceptor</value>
</list>
</property>
</bean> <bean id="transactionInterceptor"
class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager">
<ref bean="txManager" />
</property>
<property name="transactionAttributes">
<props>
<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="list*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="load*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="remove*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="insert*">PROPAGATION_REQUIRED</prop>
<prop key="modify*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>