读书人

ssh调整中事物的配置

发布时间: 2012-11-23 00:03:43 作者: rapoo

ssh整合中事物的配置

初学ssh整合对大分人来说ssh的配置是一件让人很头疼的事,加上最新版本的教程又少,在经过多次尝试之后把事物的配置做如下总结,希望对初学者有所帮助,如有不对的地方请多指教:

我用的是:myEclipse9.0+sqlserver2000+hibernate4.1.6+struts2.3.4.1+spring3.1.1

整合中对事物的配置有三种:

1.使用hibernate进行事物管理 :

   <!-- 数据源 --><bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close"><property name="driverClassName" value="net.sourceforge.jtds.jdbc.Driver"></property><property name="url" value="jdbc:jtds:sqlserver://localhost:1433;DatabaseName=RegisterSystem"></property><property name="username" value="sa"></property><property name="password" value="admin"></property></bean> <!-- sessionFactory --><bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"><property name="dataSource"><ref bean="dataSource" /></property><!-- mapping --><property name="mappingResources"><list><value>cn/ts/entity/AdminUser.hbm.xml</value></list></property><!-- hibernate --><property name="hibernateProperties"><props><prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop><prop key="hibernate.show_sql">true</prop><prop key="hibernate.format_sql">true</prop><prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext </prop><!--<prop key="hibernate.cache.use_query_cache">true</prop> <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop> <prop key="hibernate.cache.use_second_level_cache">true</prop> --></props></property><!-- 事物 --></bean><!-- Transaction manager for a single JDBC DataSource --><bean id="transactionManager"class="org.springframework.orm.hibernate4.HibernateTransactionManager"><property name="sessionFactory" ref="sessionFactory" /></bean>        <!-- 需要引入aop的命名空间 -->      <aop:config>          <!-- 切入点指明了在执行Service的所有方法时产生事务拦截操作 -->          <aop:pointcut id="daoMethods" expression="execution(* cn.ts.*.*(..))" />              <!-- 定义了将采用何种拦截操作,这里引用到 txAdvice -->          <aop:advisor advice-ref="transactionManager" pointcut-ref="daoMethods" />      </aop>
2.利用JDBC数据源进行事物的管理 
<!-- datasource --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"  destroy-method="close">  <property name="driverClassName" value="net.sourceforge.jtds.jdbc.Driver"></property>  <property name="url" value="jdbc:jtds:sqlserver://localhost:1433;DatabaseName=RegisterSystem"></property>  <property name="username" value="sa"></property>  <property name="password" value="admin"></property> </bean> <!-- sessionFactory --> <bean id="sessionFactory"  class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">  <property name="dataSource">   <ref bean="dataSource" />  </property>    <!-- hibernate -->  <property name="hibernateProperties">   <props>    <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>    <prop key="hibernate.show_sql">true</prop>    <prop key="hibernate.format_sql">true</prop>    <prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext </prop>    <!--<prop key="hibernate.cache.use_query_cache">true</prop> <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>      <prop key="hibernate.cache.use_second_level_cache">true</prop> -->   </props>  </property>  <!-- mapping -->  <property name="mappingResources">   <list>    <value>cn/ts/entity/AdminUser.hbm.xml</value>   </list>  </property>    <!-- transaction --> </bean> <!-- Transaction manager for a single JDBC DataSource --> <bean id="transactionManager"  class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  <property name="dataSource" ref="dataSource" /> </bean>          <!-- 需要引入aop的命名空间 -->      <aop:config>          <!-- 切入点指明了在执行Service的所有方法时产生事务拦截操作 -->          <aop:pointcut id="daoMethods" expression="execution(* cn.ts.*.*(..))" />              <!-- 定义了将采用何种拦截操作,这里引用到 txAdvice -->          <aop:advisor advice-ref="transactionManager" pointcut-ref="daoMethods" />      </aop:config>        
3.使用JTA
 
 

读书人网 >互联网

热点推荐