spring boot中如何实现druid多数据源配置
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要为大家展示了"spring boot中如何实现druid多数据源配置",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"spring boot中如何
千家信息网最后更新 2026年10月31日spring boot中如何实现druid多数据源配置
这篇文章主要为大家展示了"spring boot中如何实现druid多数据源配置",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"spring boot中如何实现druid多数据源配置"这篇文章吧。
application.yml
mybatis: configLocation: classpath:mybatis_config.xmlspring: # data: # mongodb: # host: 10.0.5.126 # port: 27017 # database: xx #authentication-database: xx #password: #username: datasource: druid: min-idle: 3 initial-size: 5 max-active: 10 # 连接等待超时时间 max-wait: 10000 # 配置检测可以关闭的空闲连接间隔时间 time-between-eviction-runs-millis: 60000 # 配置连接在池中的最小生存时间 min-evictable-idle-time-millis: 300000 validation-query: select '1' test-while-idle: true test-on-borrow: true test-on-return: false # 打开PSCache,并且指定每个连接上PSCache的大小 pool-prepared-statements: true max-open-prepared-statements: 20 max-pool-prepared-statement-per-connection-size: 20 filter: stat: merge-sql: true # 慢日志查询 log-slow-sql: true # 慢SQL记录超过5秒的sql在druid控制台标红 slow-sql-millis: 5000 wall: enabled: false commons-log: enabled: false log4j: connection-log-enabled: false slf4j: statement-log-enabled: false log4j2: statement-log-enabled: false # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙 如果项目用的logback则删掉log4j filters: stat,wall # 配置Druid Spring监控切面 # aop-patterns: com.xitor.service.*,com.xonitor.schedule.*,com.xonitor.controller.* # 配置DruidStatFilter web-stat-filter: enabled: true url-pattern: "/*" exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*,/slife_server/druid/*" # 配置DruidStatViewServlet stat-view-servlet: enabled: true url-pattern: "/druid/*" allow: "" # allow: 127.0.0.1,192.168.163.1 IP白名单(没有配置或者为空,则允许所有访问) # IP黑名单 (存在共同时,deny优先于allow) # deny: 192.168.1.73 # 禁用HTML页面上的"Reset All"功能 true是不禁用 reset-enable: true login-username: admin login-password: xx use-global-data-source-stat: false clear-filters-enable: true time-between-log-stats-millis: 3600000 #配置每1小时输出一次统计日志,统计后将清空日志 oms: name: oms driver-class-name: org.postgresql.Driver type: com.alibaba.druid.pool.DruidDataSource url: jdbc:postgresql://127.0.0.1:5432/eagle username: xx password: xx star-talk: name: starTalk driver-class-name: org.postgresql.Driver type: com.alibaba.druid.pool.DruidDataSource url: jdbc:postgresql://10.0.5.105:5432/ejabberd username: xx password: xx logging: name: logging driver-class-name: org.postgresql.Driver type: com.alibaba.druid.pool.DruidDataSource url: jdbc:postgresql://127.0.0.1:5432/eagle username: xx password: xx wpms: name: wpms driver-class-name: oracle.jdbc.driver.OracleDriver type: com.alibaba.druid.pool.DruidDataSource url: jdbc:oracle:thin:@localhost:1521:ORCL username: xx password: xx
DataSourceConfigurer
@Configurationpublic class OMSDataSourceConfigurer { @Value("${mybatis.configLocation}") private Resource configLocation; @Primary @Bean @ConfigurationProperties(prefix = "spring.datasource.oms") public DataSourceProperties omsDataSourceProperties() { return new DataSourceProperties(); } @Bean(initMethod = "init") @Primary @ConfigurationProperties("spring.datasource.druid") public DruidDataSource omsDataSource(@Qualifier("omsDataSourceProperties") DataSourceProperties dataSourceProperties) { return (DruidDataSource) dataSourceProperties.initializeDataSourceBuilder() .build(); } @Bean @Primary public SqlSessionFactory omsSqlSessionFactory(@Qualifier("omsDataSource") DataSource dataSource) throws Exception { SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); bean.setDataSource(dataSource); Assert.notNull(this.configLocation, ""); Assert.isTrue(this.configLocation.exists(), ""); bean.setConfigLocation(configLocation); bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mybatis_mapper/oms/*.xml")); return bean.getObject(); } @Bean @Primary public DataSourceTransactionManager omsTransactionManager(@Qualifier("omsDataSource") DataSource dataSource) { return new DataSourceTransactionManager(dataSource); } @Bean @Primary public SqlSessionTemplate omsSqlSessionTemplate(@Qualifier("omsSqlSessionFactory") SqlSessionFactory sqlSessionFactory) { return new SqlSessionTemplate(sqlSessionFactory); }}WPMSDataSourceConfigurer
与上面配置相同,不要添加 @Primary
MybatisConfigurer
@Configuration@ComponentScan("com.gridvo.eagle.repository")@MapperScan(basePackages = "com.xx.mybatis.oms.dao", sqlSessionTemplateRef = "omsSqlSessionTemplate")@MapperScan(basePackages = "com.xx.mybatis.startalk.dao", sqlSessionTemplateRef = "starTalkSqlSessionTemplate")@MapperScan(basePackages = "com.xx.mybatis.logging.dao", sqlSessionTemplateRef = "loggingSqlSessionTemplate")@MapperScan(basePackages = "com.xxmybatis.wpms.dao", sqlSessionTemplateRef = "wpmsSqlSessionTemplate")@EnableTransactionManagement(proxyTargetClass = true)public class MybatisConfigurer {}以上是"spring boot中如何实现druid多数据源配置"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
配置
统计
数据
数据源
内容
日志
时间
篇文章
监控
学习
帮助
最小
相同
切面
功能
名单
大小
小时
易懂
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广州紫鲸互联网科技有限公司
科技互联网龙头
北京互联网科技有限公司
礼当家互联网科技
互联网科技视频素材
成都仁贤领冠互联网科技有限公司
互联网 科技馆
剑昆互联网络科技有限公司临桂
互联网科技寓意
和信科技工业互联网
翼展科技 首家互联网医院
工业互联网等科技实现智能化赋能
长沙互联网科技
南通创西澳互联网科技有限公司
互联网科技实习生岗位
中天科技中国工业互联网
上海互联网科技公司ppt
互联网科技包装股
易租星互联网科技有限公司
青岛易易互联网科技
北京路客互联网科技有限公司
互联网科技会
美国互联网科技巨头监管
艾特科技互联网
多迪互联网科技有限公司
互联网公司会议桌创意科技软装饰
汽车互联网创新科技园
洛阳共同富裕互联网科技有限公司
互联网科技接地气
互联网科技创新方面的资料