springboot怎么连接两个数据库
发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,这篇"springboot怎么连接两个数据库"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看
千家信息网最后更新 2025年11月13日springboot怎么连接两个数据库
这篇"springboot怎么连接两个数据库"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"springboot怎么连接两个数据库"文章吧。
一、启动类
1.启动类需要不用加mybatis的@MapperScan注解
@SpringBootApplicationpublic class AppPush { public static void main(String[] args) { SpringApplication.run(AppPush.class,args); }}二、application.yml文件
配置俩个或多个数据库连接,我这里用的是postgresql,用mysql等也是一样
spring: datasource:# driver-class-name: org.postgresql.Driver# url: jdbc:postgresql://127.0.0.1/aaa# username: root# password: root one: driver-class-name: org.postgresql.Driver url: jdbc:postgresql://127.0.0.1/aaa username: root password: root two: driver-class-name: org.postgresql.Driver url: jdbc:postgresql://127.0.0.1/bbb username: root password: root
三、创建配置类
1.注意:@MapperScan 的basePackages就是你包的路径 ,
sqlSessionFactoryRef 可以随便起名 但是着两个类不能重复!
One配置类
package com.wys.config;import org.apache.ibatis.session.SqlSessionFactory;import org.mybatis.spring.SqlSessionFactoryBean;import org.mybatis.spring.SqlSessionTemplate;import org.mybatis.spring.annotation.MapperScan;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.beans.factory.annotation.Value;import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.Primary;import org.springframework.core.io.support.PathMatchingResourcePatternResolver;import org.springframework.jdbc.datasource.DriverManagerDataSource;import javax.sql.DataSource;/** * @program: * @description: 数据库配置1 * @author: wys * @create: 2019-12-03 16:20 **/@Configuration@MapperScan(basePackages = "com.wys.mapper.**", sqlSessionFactoryRef = "oneSqlSessionFactory")public class OneDataSourceConfig { @Value("${spring.datasource.one.driver-class-name}") String driverClass; @Value("${spring.datasource.one.url}") String url; @Value("${spring.datasource.one.username}") String userName; @Value("${spring.datasource.one.password}") String passWord; @Primary @Bean(name = "oneDataSource") @ConfigurationProperties("spring.datasource.one") public DataSource masterDataSource() { DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setDriverClassName(driverClass); dataSource.setUrl(url); dataSource.setUsername(userName); dataSource.setPassword(passWord); return dataSource; } @Bean(name = "oneSqlSessionFactory") public SqlSessionFactory sqlSessionFactory(@Qualifier("oneDataSource") DataSource dataSource) throws Exception { SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean(); sessionFactoryBean.setDataSource(dataSource); sessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver() .getResources("classpath:mybatis/mapper-postgre/*.xml")); return sessionFactoryBean.getObject(); } @Bean(name = "oneSqlSessionTemplate") public SqlSessionTemplate sqlSessionFactoryTemplate(@Qualifier("oneSqlSessionFactory")SqlSessionFactory sqlSessionFactory ) throws Exception { return new SqlSessionTemplate(sqlSessionFactory); }}Two配置类
package com.wys.config;import org.apache.ibatis.session.SqlSessionFactory;import org.mybatis.spring.SqlSessionFactoryBean;import org.mybatis.spring.SqlSessionTemplate;import org.mybatis.spring.annotation.MapperScan;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.beans.factory.annotation.Value;import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.Primary;import org.springframework.core.io.support.PathMatchingResourcePatternResolver;import org.springframework.jdbc.datasource.DriverManagerDataSource;import javax.sql.DataSource;/** * @program: * @description: 数据库配置2 * @author: wys * @create: 2019-12-03 17:03 **/@Configuration@MapperScan(basePackages = "com.wys.mappers",sqlSessionFactoryRef = "twoSqlSessionFactory")public class TwoDataSourceConfig { @Value("${spring.datasource.two.driver-class-name}") String driverClass; @Value("${spring.datasource.two.url}") String url; @Value("${spring.datasource.two.username}") String userName; @Value("${spring.datasource.two.password}") String passWord; @Bean(name = "twoDataSource") @ConfigurationProperties("spring.datasource.two") public DataSource masterDataSource(){ DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setDriverClassName(driverClass); dataSource.setUrl(url); dataSource.setUsername(userName); dataSource.setPassword(passWord); return dataSource; } @Bean(name = "twoSqlSessionFactory") public SqlSessionFactory sqlSessionFactory(@Qualifier("twoDataSource") DataSource dataSource) throws Exception { SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean(); sessionFactoryBean.setDataSource(dataSource); sessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver() .getResources("classpath:mybatis/mapper-postgres/*.xml")); return sessionFactoryBean.getObject(); } @Bean(name = "twoSqlSessionTemplate") public SqlSessionTemplate sqlSessionFactoryTemplate(@Qualifier("twoSqlSessionFactory")SqlSessionFactory sqlSessionFactory ) throws Exception { return new SqlSessionTemplate(sqlSessionFactory); }}四 、结构
可能有人不清楚项目的结构,我在下面放了一张类结构图,能更清晰和方便理解。
注意:和之前的项目的主要区别就是 mapper包多了一个,mapper的xml包也多了一个,不同的数据库mapper放到不同的包内就可以了。
以上就是关于"springboot怎么连接两个数据库"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
数据
数据库
配置
内容
两个
就是
结构
不同
文章
知识
篇文章
项目
清楚
不用
价值
多个
大部分
文件
更多
步骤
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
热度在线网络技术有限公司
网络安全法规定判断题
刀片服务器 塔式
数据库连接两个数据库
mysql数据库应用
数据库的安全性 论坛
中国核心期刊数据库什么意思
未落实网络安全责任制
成都web前端软件开发服务
db2更改数据库字段类型
平板无法创建id服务器出错
网络安全事件分类的有
网络安全策略管理(nspm)技术培训
世界互联网大会18项科技
福建冠锐网络技术公司
我的世界低配模组服务器
哈尔滨软件开发公司选哪家
剑三无法连接服务器请稍后再试
毒翼网络技术资源整理收集
分布式数据库建设
破解校园宽带管理服务器
嵌入式硬件开发和软件开发
佛山小旋风软件开发工作室
为何手机总显示转入后台服务器
深圳直销软件开发公司排名
服务器pwrok运行电压
岳西网络安全检查
时尚猫网络技术有限公司
网络安全十大总结
国科服务亲属认证显示服务器异常