Spring+MyBatis 集成

Spring+MyBatis 集成

<?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:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="
http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
http://www.springframework.org/schema/tx 
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop 
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
">

   <bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
   	<property name="url" value="${jdbc_url}" />
   	<property name="username" value="${jdbc_username}" />
   	<property name="password" value="${jdbc_password}" />
   
   	<property name="initialSize" value="0" />		
   	<property name="maxActive" value="20" />	
   	<property name="maxIdle" value="20" />
   	<property name="minIdle" value="0" />		
   	<property name="maxWait" value="60000" />
   	
   	<property name="validationQuery" value="${validationQuery}" />
   	<property name="testOnBorrow" value="false" />
   	<property name="testOnReturn" value="false" />
   	<property name="testWhileIdle" value="true" />
   	<property name="timeBetweenEvictionRunsMillis" value="60000" />
   	<property name="minEvictableIdleTimeMillis" value="25200000" />
   	<property name="removeAbandoned" value="true" />
   	<property name="removeAbandonedTimeout" value="1800" />
   	<property name="logAbandoned" value="true" />
   	<property name="filters" value="mergeStat" />
   </bean>

   <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
   	<property name="dataSource" ref="dataSource" />
   	<property name="mapperLocations" value="classpath:mapping/*.xml" />
   </bean>
   
   <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
   	<property name="basePackage" value="dao" />
   	<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
   </bean>

   <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
   	<property name="dataSource" ref="dataSource" />
   </bean>
   <tx:advice id="transactionAdvice" transaction-manager="transactionManager">
   	<tx:attributes>
   		<tx:method name="add*" propagation="REQUIRED" />
   		<tx:method name="append*" propagation="REQUIRED" />
   		<tx:method name="insert*" propagation="REQUIRED" />
   		<tx:method name="save*" propagation="REQUIRED" />
   		<tx:method name="update*" propagation="REQUIRED" />
   		<tx:method name="modify*" propagation="REQUIRED" />
   		<tx:method name="edit*" propagation="REQUIRED" />
   		<tx:method name="delete*" propagation="REQUIRED" />
   		<tx:method name="remove*" propagation="REQUIRED" />
   		<tx:method name="repair" propagation="REQUIRED" />
   		<tx:method name="delAndRepair" propagation="REQUIRED" />

   		<tx:method name="get*" propagation="SUPPORTS" />
   		<tx:method name="find*" propagation="SUPPORTS" />
   		<tx:method name="load*" propagation="SUPPORTS" />
   		<tx:method name="search*" propagation="SUPPORTS" />
   		<tx:method name="datagrid*" propagation="SUPPORTS" />

   		<tx:method name="*" propagation="SUPPORTS" />
   	</tx:attributes>
   </tx:advice>
   <aop:config>
   	<aop:pointcut id="transactionPointcut" expression="execution(* service..*Impl.*(..))" />
   	<aop:advisor pointcut-ref="transactionPointcut" advice-ref="transactionAdvice" />
   </aop:config>
   
   //自动扫描
   <context:component-scan base-package="service" />

</beans>

发布了30 篇原创文章 · 获赞 0 · 访问量 1035

猜你喜欢

转载自blog.csdn.net/l4oli/article/details/100890385