資料來源(DataSource)


多重資料來源連線

JDBC持久化模組預設支援多重資料來源配置,以下透過簡單的配置來展示如何連接多個資料庫:

# 定义两个数据源分别用于连接MySQL和Oracle数据库,同时指定默认数据源为default(即MySQL数据库)
ymp.configs.persistence.jdbc.ds_default_name=default
ymp.configs.persistence.jdbc.ds_name_list=default|oracledb

# 连接到MySQL数据库的数据源配置
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数据库的数据源配置
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

從上述配置中可以看出,配置不同的資料來源時只需要定義資料來源名稱列表,再根據列表逐一配置即可;

連接池配置

JDBC持久化模組提供的資料來源類型如下:
default:預設資料來源適配器,透過DriverManager直接連接資料庫,建議僅用於測試;

c3p0:基於C3P0連接池的資料來源適配器;

dbcp:基於DBCP連接池的資料來源適配器;
jndi:基於JNDI的資料來源適配器;

只需根據實際情況調整對應資料來源名稱的配置,如:

###
ymp.configs.persistence.jdbc.ds.default.adapter_class=dbcp
#########針對於dbcp和c3p0連線池的配置檔案及內容,請將對應的dbcp.properties或c3p0.properties檔案放置在工程的classpath根路徑下,設定內容請參考JDBC持久化模組開源工程中的範例檔案;#######當然,也可以透過IDataSourceAdapter介面自行實現,框架針對IDataSourceAdapter介面提供了一個抽象封裝AbstractDataSourceAdapter類,直接繼承即可;############資料庫連接持有者(IConnectionHolder)#######使用於記錄真正的資料庫連線物件(Connection)原始的狀態及與資料來源對應關係;######