springboot多数据源配置_SpringBoot-配置多数据源
1.4、springboot整合多数据源
你们在项目中有使用到多数据源吗?
4.4.1配置文件中新增两个数据源
spring.datasource.test1.driverClassName = com.mysql.jdbc.Driver
spring.datasource.test1.url = jdbc:mysql://localhost:3306/test01?useUnicode=true&characterEncoding=utf-8
spring.datasource.test1.username = root
spring.datasource.test1.password = root
spring.datasource.test2.driverClassName = com.mysql.jdbc.Driver
spring.datasource.test2.url = jdbc:mysql://localhost:3306/test02?useUnicode=true&characterEncoding=utf-8
spring.datasource.test2.username = root
spring.datasource.test2.password = root
4.4.2配置文件中新增两个数据源
@Configuration // 注册到springboot容器中
@MapperScan(basePackages = "com.cs.user1", sqlSessionFactoryRef = "test1SqlSessionFactory")
public class DataSource1Config {
/**
*
* @methodDesc: 功能描述:(配置test1数据库)
*/
@Bean(name = "test1DataSource")
@Primary
@ConfigurationProperties(prefix = "spring.datasource.test1")
public DataSource testDataSource() {
return DataSourceBuilder.create().build();
}
/**
*
* @methodDesc: 功能描述:(test1 sql会话工厂)
* Exception
*/
@Bean(name = "test1SqlSessionFactory")
@Primary
public SqlSessionFactory testSqlSessionFactory(@Qualifier("test1DataSource") DataSource dataSource)
throws Exception {
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
bean.setDataSource(dataSource);
// bean.setMapperLocations(
// new PathMatchingResourcePatternResolver().getResources("classpath:mybatis/mapper/test1/*.xml"));
return bean.getObject();
}
/**
*
* @methodDesc: 功能描述:(test1 事物管理)
*/
@Bean(name = "test1TransactionManager")
@Primary
public DataSourceTransactionManager testTransactionManager(@Qualifier("test1DataSource") DataSource dataSource) {
return new DataSourceTransactionManager(dataSource);
}
@Bean(name = "test1SqlSessionTemplate")
public SqlSessionTemplate testSqlSessionTemplate(
@Qualifier("test1SqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {
return new SqlSessionTemplate(sqlSessionFactory);
}
}
4.4.2创建分包Mapper
public interface User1Mapper {
@Insert("insert into users values(null,#{name},#{age});")
public int addUser(@Param("name") String name, @Param("age") Integer age);
}
4.4.3启动项目
@ComponentScan(basePackages = "com.cs")
@EnableAutoConfiguration
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
欢迎关注本人微信公众号,继续交流更多技术问题,还有架构师视频领取哦
http://weixin.qq.com/r/KSgWDg3EuFDHrUlt9307 (二维码自动识别)
springboot多数据源配置_SpringBoot-配置多数据源相关推荐
- mysql多数据源事务_springboot项目多数据源及其事务
多数据源: 1.数据源配置类 DB***Config.java(几个数据源写几个此类) 2.数据源对应数据库连接pom 3.启动类加注解 //关闭springBoot关于mybatis的一些自动注入( ...
- SpringBoot配置多数据库的数据源
微服务下项目绝对不是传统的单体数据库设计,此时就涉及到了多数据源 项目案例代码上传到git https://gitee.com/gangye/springboot_more_databases 首先创 ...
- SpringBoot排除数据源配置,配置决定行为
项目场景: 最近接到一个需求,大概意思呢就是数据库连接不够用了,部分服务(分服务)就不需要配置数据源了,需要跟db打交道的地方全部改成rpc去调用具备db能力的服务(总服务) 问题描述: 其实需要改的 ...
- Springboot 从数据库读取数据库配置信息,动态切换多数据源 最详细实战教程
以前写过一篇教程,Springboot AOP方式切换多数据源(主从两库类似情况使用最佳): https://blog.csdn.net/qq_35387940/article/details/100 ...
- springboot+jpa 实现不同数据库的多数据源配置(坑整理)
在搭建springboot+jpa 实现不同数据库的多数据源配置过程中会遇到很多坑, SpringBoot引入mysql源的pom.xml等的配置:https://www.jianshu.com/p/ ...
- springboot数据源不正确_SpringBoot整合多数据源的巨坑!!!
导读 本篇文章接上篇SpringBoot整合多数据源,你会了吗?,前面文章最后留了几个问题供大家思考,今天一一揭晓. 配置如何优化 上文整合的过程中的还顺带整合Mybatis和TransactionM ...
- 2 数据源配置_论多数据源(读写分离)的实现方案
好的,作为一个合格的bug生产者,我们直接进入主题,多数据源和读写分离实现方案. 首先多数据源和读写分离什么时候我们才需要呢? 多数据源:一个单体项目过于复杂,需要操作多个业务库的时候,就需要多数据源 ...
- springboot 多数据源_SpringBoot整合多数据源的巨坑一
导读 本篇文章接上篇SpringBoot整合多数据源,你会了吗?,前面文章最后留了几个问题供大家思考,今天一一揭晓. 配置如何优化 上文整合的过程中的还顺带整合Mybatis和TransactionM ...
- 什么是数据源?如何配置数据源?
1.什么是数据源? 数据源是连接到数据库的一类路径,它包含了访问数据库的信息(地址.用户名.密码). 拓展: 数据库 数据库是一个容器,包含了很多数据,当然这些数据可能存在不同的小容器(表)里面. 若 ...
- reportConfig.xml两种数据源连接的配置方式
在reportConfig.xml配置文件中,我们提供了两种数据源连接的配置方式,分别如下: 1.jndi数据源配置(即:在dataSource中配置) 此配置适用于在j2ee的服务器中配置了j ...
最新文章
- 不要一辈子都指望用技术赚钱
- 敲了几年代码,是时候考虑以后的发展了
- 怎么做才能将请求平摊到多台服务器上面去呢
- PostgreSQL 内存OOM控制策略导致数据库无法启动的诊断一例(如何有效避免oom)
- mnist tensorrt 运行_TensorRT学习
- 微信小程序订阅消息:用云服务编写订阅消息超详细描述
- 使用Java快速实现进度条
- XPDL学习与分享 二 XPDL整体结构
- 小程序的横向二级顶部导航条,可以切换、拖动、二级定位在一级的下面,高度怎么办
- 元宇宙办公穿越时空奥秘探索无限可能
- 赚想赚钱的人的钱最好赚了
- PHP微信公众号开发接口封装
- 赵小楼《天道》《遥远的救世主》深度解析(118)女人的客观就那么难么?不难。难的是不想客观的人。
- 如何做好项目管理,实现高效的项目管理?
- The security economics of large-scale attacks against Internet-connected ICS devices
- 让命令不尽然history历史纪录的一种方法
- 【数学建模】建模比赛记录总结篇
- Java遍历Map的五种方式
- 工业相机SDK使用Python打开无法显示图像
- 安装windows11,跳过联网激活,跳过登录微软账户
热门文章
- ToStringBuilder学习(三):readResolve()方法与序列化
- sql server日期时间函数
- 聚类算法:Hierarchical Clustering层次聚类
- 《研磨设计模式》chap20 享元模式 Flyweight (3)重写应用场景
- Kubernetes各组件的功能
- 设计模式--备忘录(Memento)模式
- python—多线程之共享数据
- [ARM异常]-armv8/armv9异步异常类型、路由、屏蔽
- (50)补充内容:SSDT HOOK 模板
- (20)PDE_PTE属性(U/S PS A D 有效位)