ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
多数据源方案是针对每个库都生成一个新的dao对象,不同的库操作用不同的dao对象。 1、ds-dbcp.xml、transaction.xml分别复制一份,然后文件内部ID及引用都改成新的,以免spring实例ID重复报错 2、spring-config.xml引入新的ds-dbcp-xx.xml文件 3、规范目的,resources目录sql下新建对应库的目录,ds-dbcp-xx.xml中xxSqlSessionFactory的sqlLocations改成此目录 4、application.properties文件中加入新库的属性配置,然后ds-dbcp-xx.xml中做修改 application.properties中加入 ``` ds.ds_gis.driverClassName=org.postgresql.Driver ds.ds_gis.url=jdbc:postgresql://ip:port/gisjs ds.ds_gis.username=xxuser ds.ds_gis.password=xx ds.ds_gis.validationQuery=select 1 ds.ds_gis.maxActive=30 ds.ds_gis.maxIdle=20 ds.ds_gis.initialSize=10 ``` ds-dbcp-xx.xml中修改 ``` <!-- 数据源ds_gis --> <bean id="ds_gis" class="org.walkframework.tools.jdbc.SecurityDbcpBasicDataSource" destroy-method="close"> <property name="driverClassName" value="${ds.ds_gis.driverClassName}"/> <property name="url" value="${ds.ds_gis.url}" /> <property name="username" value="${ds.ds_gis.username}" /> <property name="password" value="${ds.ds_gis.password}" /> <property name="validationQuery" value="${ds.ds_gis.validationQuery}"/> <property name="maxActive" value="${ds.ds_gis.maxActive}" /> <property name="maxIdle" value="${ds.ds_gis.maxIdle}" /> <property name="initialSize" value="${ds.ds_gis.initialSize}" /> </bean> ``` 5、service中使用 ``` @Resource(name = "sqlSessionDao") private BaseSqlSessionDao dao; @Resource(name = "gisSqlSessionDao") private BaseSqlSessionDao gisdao; ```