springboot的yml配置文件通过db2的方式整合mysql的教程
springboot整合MySQL很简单,多数据源就master,slave就行了,但是在整合DB2就需要另起一行,以下是同一个yml文件
先配置MySQL,代码如下
spring: datasource: type:com.alibaba.druid.pool.DruidDataSource druid: #主库数据源 master: url:jdbc:mysql://localhost:3308/<数据库名>?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username:root password:123456 #从库数据源 slave: #从数据源开关/默认关闭 enabled:true url:jdbc:mysql://localhost:3308/<数据库名>?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username:root password:123456 #初始连接数 initialSize:5 #最小连接池数量 minIdle:10 #最大连接池数量 maxActive:20 #配置获取连接等待超时的时间 maxWait:60000 #配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 timeBetweenEvictionRunsMillis:60000 #配置一个连接在池中最小生存的时间,单位是毫秒 minEvictableIdleTimeMillis:300000 #配置一个连接在池中最大生存的时间,单位是毫秒 maxEvictableIdleTimeMillis:900000 #配置检测连接是否有效 validationQuery:SELECT1FROMDUAL testWhileIdle:true testOnBorrow:false testOnReturn:false webStatFilter: enabled:true statViewServlet: enabled:true #设置白名单,不填则允许所有访问 allow: url-pattern:/druid/* #控制台管理用户名和密码 login-username: login-password: filter: stat: enabled:true #慢SQL记录 log-slow-sql:true slow-sql-millis:1000 merge-sql:true wall: config: multi-statement-allow:true
接下来配置DB2
second: spring: datasource: type:com.alibaba.druid.pool.DruidDataSource driver-class-name:com.ibm.db2.jcc.DB2Driver url:jdbc:db2://:<端口>/<数据库名>:currentSchema=<所要连接的schema名>; username:<用户名> password:<密码> #初始连接数 initialSize:5 #最小连接池数量 minIdle:10 #最大连接池数量 maxActive:20 #配置获取连接等待超时的时间 maxWait:60000 #配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 timeBetweenEvictionRunsMillis:60000 #配置一个连接在池中最小生存的时间,单位是毫秒 minEvictableIdleTimeMillis:300000 #配置一个连接在池中最大生存的时间,单位是毫秒 maxEvictableIdleTimeMillis:900000 #配置检测连接是否有效注意这里DUAL是检测的表名,可以是当前schema下的任意一张表 validationQuery:SELECT1FROM**<检测表名>** testWhileIdle:true testOnBorrow:false testOnReturn:false webStatFilter: enabled:true statViewServlet: enabled:true #设置白名单,不填则允许所有访问 allow: url-pattern:/druid/* #控制台管理用户名和密码 login-username: login-password: filter: stat: enabled:true #慢SQL记录 log-slow-sql:true slow-sql-millis:1000 merge-sql:true wall: config: multi-statement-allow:true
OK这样就能通过Config获取到了,下面是Config源码
packagecom.map.framework.config;
importjava.io.IOException;
importjava.util.HashMap;
importjava.util.Map;
importjavax.servlet.Filter;
importjavax.servlet.FilterChain;
importjavax.servlet.ServletException;
importjavax.servlet.ServletRequest;
importjavax.servlet.ServletResponse;
importjavax.sql.DataSource;
importorg.springframework.beans.factory.annotation.Value;
importorg.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
importorg.springframework.boot.context.properties.ConfigurationProperties;
importorg.springframework.boot.web.servlet.FilterRegistrationBean;
importorg.springframework.context.annotation.Bean;
importorg.springframework.context.annotation.Configuration;
importorg.springframework.context.annotation.Primary;
importcom.alibaba.druid.pool.DruidDataSource;
importcom.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
importcom.alibaba.druid.spring.boot.autoconfigure.properties.DruidStatProperties;
importcom.alibaba.druid.util.Utils;
importcom.map.common.enums.DataSourceType;
importcom.map.common.utils.spring.SpringUtils;
importcom.map.framework.config.properties.DruidProperties;
importcom.map.framework.datasource.DynamicDataSource;
importorg.springframework.jdbc.datasource.DataSourceTransactionManager;
/**
*druid配置多数据源
*
*
*/
@Configuration
publicclassDruidConfig
{
@Bean
@ConfigurationProperties("spring.datasource.druid.master")
publicDataSourcemasterDataSource(DruidPropertiesdruidProperties)
{
DruidDataSourcedataSource=DruidDataSourceBuilder.create().build();
returndruidProperties.dataSource(dataSource);
}
@Bean
@ConfigurationProperties("spring.datasource.druid.slave")
@ConditionalOnProperty(prefix="spring.datasource.druid.slave",name="enabled",havingValue="true")
publicDataSourceslaveDataSource(DruidPropertiesdruidProperties)
{
DruidDataSourcedataSource=DruidDataSourceBuilder.create().build();
returndruidProperties.dataSource(dataSource);
}
@Bean
@ConfigurationProperties("second.spring.datasource")
publicDataSourcedb2DataSource(DruidPropertiesdruidProperties)
{
DruidDataSourcedataSource=DruidDataSourceBuilder.create().build();
returndruidProperties.dataSource(dataSource);
}
@Bean(name="dynamicDataSource")
@Primary
publicDynamicDataSourcedataSource(DataSourcemasterDataSource)
{
Map
这就是我整合MySQL和DB2时遇到的问题,记录一下
总结
到此这篇关于springboot的yml配置文件通过db2的方式整合mysql的教程的文章就介绍到这了,更多相关springbootyml配置文件整合mysql内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。