spring + mybatis 多資料來源事務
阿新 • • 發佈:2019-01-24
1.配置Druid資料庫資料來源
<bean id="master_dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close"> <!-- 資料庫基本資訊配置 --> <property name="url" value="${masterUrl}" /> <property name="username" value="${username}" /> <property name="password" value="${password}" /> <property name="driverClassName" value="${driverClassName}" /> <property name="filters" value="${filters}" /> <!-- 最大併發連線數 --> <property name="maxActive" value="${maxActive}" /> <!-- 初始化連線數量 --> <property name="initialSize" value="${initialSize}" /> <!-- 配置獲取連線等待超時的時間 --> <property name="maxWait" value="${maxWait}" /> <!-- 最小空閒連線數 --> <property name="minIdle" value="${minIdle}" /> <!-- 配置間隔多久才進行一次檢測,檢測需要關閉的空閒連線,單位是毫秒 --> <property name="timeBetweenEvictionRunsMillis" value="${timeBetweenEvictionRunsMillis}" /> <!-- 配置一個連線在池中最小生存的時間,單位是毫秒 --> <property name="minEvictableIdleTimeMillis" value="${minEvictableIdleTimeMillis}" /> <property name="validationQuery" value="${validationQuery}" /> <property name="testWhileIdle" value="${testWhileIdle}" /> <property name="testOnBorrow" value="${testOnBorrow}" /> <property name="testOnReturn" value="${testOnReturn}" /> <property name="maxOpenPreparedStatements" value="${maxOpenPreparedStatements}" /> <!-- 開啟removeAbandoned功能 --> <property name="removeAbandoned" value="${removeAbandoned}" /> <!-- 1800秒,也就是30分鐘 --> <property name="removeAbandonedTimeout" value="${removeAbandonedTimeout}" /> <!-- 關閉abanded連線時輸出錯誤日誌 --> <property name="logAbandoned" value="${logAbandoned}" /> </bean>從庫資料來源配置
<bean id="slave_dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close"> <!-- 資料庫基本資訊配置 --> <property name="url" value="${slaveUrl}" /> <property name="username" value="${username}" /> <property name="password" value="${password}" /> <property name="driverClassName" value="${driverClassName}" /> <property name="filters" value="${filters}" /> <!-- 最大併發連線數 --> <property name="maxActive" value="${maxActive}" /> <!-- 初始化連線數量 --> <property name="initialSize" value="${initialSize}" /> <!-- 配置獲取連線等待超時的時間 --> <property name="maxWait" value="${maxWait}" /> <!-- 最小空閒連線數 --> <property name="minIdle" value="${minIdle}" /> <!-- 配置間隔多久才進行一次檢測,檢測需要關閉的空閒連線,單位是毫秒 --> <property name="timeBetweenEvictionRunsMillis" value="${timeBetweenEvictionRunsMillis}" /> <!-- 配置一個連線在池中最小生存的時間,單位是毫秒 --> <property name="minEvictableIdleTimeMillis" value="${minEvictableIdleTimeMillis}" /> <property name="validationQuery" value="${validationQuery}" /> <property name="testWhileIdle" value="${testWhileIdle}" /> <property name="testOnBorrow" value="${testOnBorrow}" /> <property name="testOnReturn" value="${testOnReturn}" /> <property name="maxOpenPreparedStatements" value="${maxOpenPreparedStatements}" /> <!-- 開啟removeAbandoned功能 --> <property name="removeAbandoned" value="${removeAbandoned}" /> <!-- 1800秒,也就是30分鐘 --> <property name="removeAbandonedTimeout" value="${removeAbandonedTimeout}" /> <!-- 關閉abanded連線時輸出錯誤日誌 --> <property name="logAbandoned" value="${logAbandoned}" /> </bean>
2.配置資料來源
上面配置了2個數據源,一個主庫一個從庫。