數(shù)據(jù)源(DataSource)

2018-12-24 22:13 更新
多數(shù)據(jù)源連接

JDBC持久化模塊默認(rèn)支持多數(shù)據(jù)源配置,下面通過簡(jiǎn)單的配置來展示如何連接多個(gè)數(shù)據(jù)庫(kù):

# 定義兩個(gè)數(shù)據(jù)源分別用于連接MySQL和Oracle數(shù)據(jù)庫(kù),同時(shí)指定默認(rèn)數(shù)據(jù)源為default(即MySQL數(shù)據(jù)庫(kù))
ymp.configs.persistence.jdbc.ds_default_name=default
ymp.configs.persistence.jdbc.ds_name_list=default|oracledb

# 連接到MySQL數(shù)據(jù)庫(kù)的數(shù)據(jù)源配置
ymp.configs.persistence.jdbc.ds.default.connection_url=jdbc:mysql://localhost:3306/mydb
ymp.configs.persistence.jdbc.ds.default.username=root
ymp.configs.persistence.jdbc.ds.default.password=123456

# 連接到Oracle數(shù)據(jù)庫(kù)的數(shù)據(jù)源配置
ymp.configs.persistence.jdbc.ds.oracledb.connection_url=jdbc:oracle:thin:@localhost:1521:ORCL
ymp.configs.persistence.jdbc.ds.oracledb.username=ORCL
ymp.configs.persistence.jdbc.ds.oracledb.password=123456

從上述配置中可以看出,配置不同的數(shù)據(jù)源時(shí)只需要定義數(shù)據(jù)源名稱列表,再根據(jù)列表逐一配置即可;

連接池配置

JDBC持久化模塊提供的數(shù)據(jù)源類型如下:

  • default:默認(rèn)數(shù)據(jù)源適配器,通過DriverManager直接連接數(shù)據(jù)庫(kù),建議僅用于測(cè)試;
  • c3p0:基于C3P0連接池的數(shù)據(jù)源適配器;
  • dbcp:基于DBCP連接池的數(shù)據(jù)源適配器;
  • jndi:基于JNDI的數(shù)據(jù)源適配器;

只需根據(jù)實(shí)際情況調(diào)整對(duì)應(yīng)數(shù)據(jù)源名稱的配置,如:

ymp.configs.persistence.jdbc.ds.default.adapter_class=dbcp

針對(duì)于dbcp和c3p0連接池的配置文件及內(nèi)容,請(qǐng)將對(duì)應(yīng)的dbcp.properties或c3p0.properties文件放置在工程的classpath根路徑下,配置內(nèi)容請(qǐng)參看JDBC持久化模塊開源工程中的示例文件;

當(dāng)然,也可以通過IDataSourceAdapter接口自行實(shí)現(xiàn),框架針對(duì)IDataSourceAdapter接口提供了一個(gè)抽象封裝AbstractDataSourceAdapter類,直接繼承即可;

數(shù)據(jù)庫(kù)連接持有者(IConnectionHolder)

用于記錄真正的數(shù)據(jù)庫(kù)連接對(duì)象(Connection)原始的狀態(tài)及與數(shù)據(jù)源對(duì)應(yīng)關(guān)系;

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)