IBatis配置

<?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-4.1.xsd

http://www.springframework.org/schema/tx

http://www.springframework.org/schema/tx/spring-tx-4.1.xsd

http://www.springframework.org/schema/aop

http://www.springframework.org/schema/aop/spring-aop-4.1.xsd

">

<!-- 配置數據源 使用的是Druid數據源 -->

<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="minIdle" value="0" />

<!-- 獲取連接最大等待時間 -->

<property name="maxWait" value="60000" />

<property name="poolPreparedStatements" value="true" />

<property name="maxPoolPreparedStatementPerConnectionSize"

value="33" />

<!-- 用來檢測有效sql -->

<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" />

<!-- 打開removeAbandoned功能 -->

<property name="removeAbandoned" value="true" />

<!-- 1800秒,也就是30分鐘 -->

<property name="removeAbandonedTimeout" value="1800" />

<!-- 關閉abanded連接時輸出錯誤日誌 -->

<property name="logAbandoned" value="true" />

<!-- 監控數據庫 -->

<property name="filters" value="mergeStat" />

</bean>

<!-- myBatis文件 -->

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

<property name="dataSource" ref="dataSource" />

<!-- 自動掃描entity目錄, 省掉Configuration.xml裏的手工配置

當執行方法時,會搜索指定路徑下xml的id?經過測試,xml名字跟mapper名字可以不一致

-->

<property name="mapperLocations" value="classpath:com/ticc/bike/mapping/*.xml" />

</bean>

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

<property name="basePackage" value="com.ticc.bike.dao" />

<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />

</bean>

<!-- 配置事務管理器 -->

<bean id="transactionManager"

class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

<property name="dataSource" ref="dataSource" />

</bean>

<!-- 註解方式配置事物 -->

<!----> <tx:annotation-driven transaction-manager="transactionManager" />

<!-- 切面方式配置事物

<tx:advice id="transactionAdvice" transaction-manager="transactionManager">

<tx:attributes>

<tx:method name="insert*" propagation="REQUIRED" rollback-for="Exception"/>

<tx:method name="update*" propagation="REQUIRED" rollback-for="Exception"/>

<tx:method name="delete*" propagation="REQUIRED" rollback-for="Exception"/>

<tx:method name="get*" propagation="SUPPORTS" read-only="true" />

<tx:method name="find*" propagation="SUPPORTS" read-only="true" />

<tx:method name="select*" propagation="SUPPORTS" read-only="true" />

</tx:attributes>

</tx:advice>-->

<!-- Spring aop事務管理

<aop:config>

<aop:pointcut id="transactionPointcut"

expression="execution(* com.ticc.bike.service..*Impl.*(..))" />

<aop:advisor pointcut-ref="transactionPointcut"

advice-ref="transactionAdvice" />

</aop:config>-->

</beans>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章