YMP Online Manual /数据源(DataSource)

数据源(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)原始的状态及与数据源对应关系;