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

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

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

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

# 連接到MySQL數(shù)據(jù)庫的數(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ù)庫的數(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ù)據(jù)源名稱列表,再根據(jù)列表逐一配置即可;

連接池配置

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

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

只需根據(jù)實際情況調整對應數(shù)據(jù)源名稱的配置,如:

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

針對于dbcp和c3p0連接池的配置文件及內容,請將對應的dbcp.properties或c3p0.properties文件放置在工程的classpath根路徑下,配置內容請參看JDBC持久化模塊開源工程中的示例文件;

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

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

用于記錄真正的數(shù)據(jù)庫連接對象(Connection)原始的狀態(tài)及與數(shù)據(jù)源對應關系;

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號