日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringMVC 中xml 配置多数据源

發布時間:2025/3/14 javascript 11 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringMVC 中xml 配置多数据源 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1,配置jdbc.properties

jdbc.driver_one=... jdbc.url_one=..... jdbc.username_one=... jdbc.password_one=..jdbc.driver_two=... jdbc.url_two=..... jdbc.username_two=... jdbc.password_two=..jdbc.initialSize=..... jdbc.maxActive=.... .....

2,數據源xml 配置

...<!-- 讀取配置文件信息 --><context:property-placeholder ignore-unresolvable="true" location="classpath:*.properties"/><bean name="dataSource" class="com.hsq.datasource.MultipleDataSource"><property name="targetDataSources"><map key-type="java.lang.String"><entry key="dataSource_one" value-ref="dataSource_one" /><entry key="dataSource_two" value-ref="dataSource_two" /></map></property><!-- 配置默認數據源1--><property name="defaultTargetDataSource" ref="dataSource_one" /></bean><bean id="dataSource_one" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"><!-- 數據庫基本配置 --><property name="driverClassName" value="${jdbc.driver_one}" /><property name="url" value="${jdbc.url_one}" /><property name="username" value="${jdbc.username_one}" /><property name="password" value="${jdbc.password_one}" /><!-- 初始化連接數量 --><property name="initialSize" value="${jdbc.initialSize}"/><!-- 最大并發連接數量 --><property name="maxActive" value="${jdbc.maxActive}"/><!-- 最小空閑連接數 --><property name="minIdle" value="${jdbc.minIdle}"/><!-- 配置獲取連接等待超時的時間 --><property name="maxWait" value="${jdbc.maxWait}" /><!-- 超過時間限制是否回收 --><property name="removeAbandoned" value="${jdbc.removeAbandoned}" /><!-- 超過時間限制多長 --><property name="removeAbandonedTimeout" value="${jdbc.removeAbandonedTimeout}" /><!-- 配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接,單位是毫秒 --><property name="timeBetweenEvictionRunsMillis" value="${jdbc.timeBetweenEvictionRunsMillis}" /><!-- 配置一個連接在池中最小生存的時間,單位是毫秒 --><property name="minEvictableIdleTimeMillis" value="${jdbc.minEvictableIdleTimeMillis}" /><!-- 用來檢測連接是否有效的sql,要求是一個查詢語句--><property name="validationQuery" value="${jdbc.validationQuery}" /><!-- 申請連接的時候檢測 --><property name="testWhileIdle" value="${jdbc.testWhileIdle}" /><!-- 申請連接時執行validationQuery檢測連接是否有效,配置為true會降低性能 --><property name="testOnBorrow" value="${jdbc.testOnBorrow}" /><!-- 歸還連接時執行validationQuery檢測連接是否有效,配置為true會降低性能 --><property name="testOnReturn" value="${jdbc.testOnReturn}" /><property name="logAbandoned" value="true" /><!-- 配置監控統計攔截的filters,wall用于防止sql注入,stat用于統計分析 --><property name="filters" value="stat,log4j" /></bean><bean id="dataSource_two" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"><!-- 數據庫基本配置 --><property name="driverClassName" value="${jdbc.driver_two}" /><property name="url" value="${jdbc.url_two}" /><property name="username" value="${jdbc.username_two}" /><property name="password" value="${jdbc.password_two}" /><!-- 初始化連接數量 --><property name="initialSize" value="${jdbc.initialSize}"/><!-- 最大并發連接數量 --><property name="maxActive" value="${jdbc.maxActive}"/><!-- 最小空閑連接數 --><property name="minIdle" value="${jdbc.minIdle}"/><!-- 配置獲取連接等待超時的時間 --><property name="maxWait" value="${jdbc.maxWait}" /><!-- 超過時間限制是否回收 --><property name="removeAbandoned" value="${jdbc.removeAbandoned}" /><!-- 超過時間限制多長 --><property name="removeAbandonedTimeout" value="${jdbc.removeAbandonedTimeout}" /><!-- 配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接,單位是毫秒 --><property name="timeBetweenEvictionRunsMillis" value="${jdbc.timeBetweenEvictionRunsMillis}" /><!-- 配置一個連接在池中最小生存的時間,單位是毫秒 --><property name="minEvictableIdleTimeMillis" value="${jdbc.minEvictableIdleTimeMillis}" /><!-- 用來檢測連接是否有效的sql,要求是一個查詢語句--><property name="validationQuery" value="${jdbc.validationQuery}" /><!-- 申請連接的時候檢測 --><property name="testWhileIdle" value="${jdbc.testWhileIdle}" /><!-- 申請連接時執行validationQuery檢測連接是否有效,配置為true會降低性能 --><property name="testOnBorrow" value="${jdbc.testOnBorrow}" /><!-- 歸還連接時執行validationQuery檢測連接是否有效,配置為true會降低性能 --><property name="testOnReturn" value="${jdbc.testOnReturn}" /><property name="logAbandoned" value="true" /><!-- 配置監控統計攔截的filters,wall用于防止sql注入,stat用于統計分析 --><property name="filters" value="stat,log4j" /></bean> ...

  3.用枚舉類列舉數據源:

public enum DbSource {one("dataSource_one"), two("dataSource_two");private String value;DbSource(String value) {this.value = value;}public String getValue() {return value;}pulic void setValue(){this.value = value;} }

4.數據源配置

/*** 配置mybatis多數據源,使用 MultipleDataSource.setDataSourceKey("") 配置數據源**/ public class MultipleDataSource extends AbstractRoutingDataSource {private static final ThreadLocal<String> dataSourceKey = new InheritableThreadLocal<String>();public static void setDataSourceKey(String dataSource) {dataSourceKey.set(dataSource);}public static String getDataSourceKey() {return dataSourceKey.get();}@Overrideprotected Object determineCurrentLookupKey() {return dataSourceKey.get();} }

5,切換方式

try {MultipleDataSource.setDataSourceKey(DbSource.two.getValue());......} finally {MultipleDataSource.setDataSourceKey(DbSource.one.getValue());}

?

轉載于:https://www.cnblogs.com/xiaohu1218/p/10187097.html

總結

以上是生活随笔為你收集整理的SpringMVC 中xml 配置多数据源的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。