# 功能描述

数据源指的是一个数据库连接池。平台连接池使用的是阿里的DRUID连接池。一般情况下我们在xml中做如下配置。

<bean id="dataSource_Default"
        class="com.alibaba.druid.pool.DruidDataSource" init-method="init"
        destroy-method="close">
         
        <!-- 配置监控统计拦截的filters -->
        <!--
        <property name="filters" value="stat,config" />
        <property name="connectionProperties" value="config.decrypt=true;config.decrypt.key=${db.publicKey}" />
        <property name="driverClassName" value="${db.driver}" />
         -->
         
        <property name="filters" value="stat" />
        <!-- 基本属性 url、user、password -->
        <property name="name" value="系统数据源" />
        <property name="url" value="${db.url}" />
         
        <property name="username" value="${db.username}" />
        <property name="password" value="${db.password}" />
 
        <!-- 配置初始化大小、最小、最大 -->
        <property name="initialSize" value="${db.minimumConnectionCount}" />
        <property name="minIdle" value="${db.minimumConnectionCount}" />
        <property name="maxActive"
            value="${db.maximumConnectionCount}" />
 
        <!-- 配置获取连接等待超时的时间 -->
        <property name="maxWait" value="60000" />
 
        <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
        <property name="timeBetweenEvictionRunsMillis" value="60000" />
 
        <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
        <property name="minEvictableIdleTimeMillis" value="300000" />
 
        <property name="validationQuery"
            value="SELECT 1 from act_ge_property" />
        <property name="testWhileIdle" value="true" />
        <property name="testOnBorrow" value="false" />
        <property name="testOnReturn" value="false" />
 
        <!-- 打开PSCache,并且指定每个连接上PSCache的大小 -->
        <property name="poolPreparedStatements" value="true" />
        <property name="maxPoolPreparedStatementPerConnectionSize"
            value="20" />
    </bean>

但是有些情况下,我们希望去访问第三方数据库。

这个时候我们有两种选择:

一种是配置 连接信息,通过代码 构建连接访问数据库。这种方式效率不高,而且只能通过工具类处理。 使用动态数据源。

spring 提供了动态数据源的方式访问数据,这种方式可以使用现有的代码,通过切换数据库。

# 操作步骤

# 配置数据源

入口:开发配置——开发工具——数据源管理 点击【新增】

别名:保证唯一。 启动时初始化:这个表示在系统启动时,数据源会根据配置初始化好。 是否使用:是否生效 数据库类型:需要连接的库类型 URL:根据实际的连接进行调整 填写用户名,密码,和其他的参数。 点击测试,测试成功后,可以进行保存。

测试是否生效

点击监控按钮 效果 这里我们可以看到实际上数据源已经被管理起来了。

# 数据源切换

# 描述

在平台中提供了动态数据源功能,用户可以在平台中动态的配置数据源。

数据源的作用:

通过数据源访问其他数据库。 通过切换数据源可以水平切分租户的数据。 可以通过切换数据源访问其他的数据库。

# 例子

开发配置——单据开发——单据列表设计 点击【新增】

切换数据源。