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-配置多数据源相关推荐

  1. mysql多数据源事务_springboot项目多数据源及其事务

    多数据源: 1.数据源配置类 DB***Config.java(几个数据源写几个此类) 2.数据源对应数据库连接pom 3.启动类加注解 //关闭springBoot关于mybatis的一些自动注入( ...

  2. SpringBoot配置多数据库的数据源

    微服务下项目绝对不是传统的单体数据库设计,此时就涉及到了多数据源 项目案例代码上传到git https://gitee.com/gangye/springboot_more_databases 首先创 ...

  3. SpringBoot排除数据源配置,配置决定行为

    项目场景: 最近接到一个需求,大概意思呢就是数据库连接不够用了,部分服务(分服务)就不需要配置数据源了,需要跟db打交道的地方全部改成rpc去调用具备db能力的服务(总服务) 问题描述: 其实需要改的 ...

  4. Springboot 从数据库读取数据库配置信息,动态切换多数据源 最详细实战教程

    以前写过一篇教程,Springboot AOP方式切换多数据源(主从两库类似情况使用最佳): https://blog.csdn.net/qq_35387940/article/details/100 ...

  5. springboot+jpa 实现不同数据库的多数据源配置(坑整理)

    在搭建springboot+jpa 实现不同数据库的多数据源配置过程中会遇到很多坑, SpringBoot引入mysql源的pom.xml等的配置:https://www.jianshu.com/p/ ...

  6. springboot数据源不正确_SpringBoot整合多数据源的巨坑!!!

    导读 本篇文章接上篇SpringBoot整合多数据源,你会了吗?,前面文章最后留了几个问题供大家思考,今天一一揭晓. 配置如何优化 上文整合的过程中的还顺带整合Mybatis和TransactionM ...

  7. 2 数据源配置_论多数据源(读写分离)的实现方案

    好的,作为一个合格的bug生产者,我们直接进入主题,多数据源和读写分离实现方案. 首先多数据源和读写分离什么时候我们才需要呢? 多数据源:一个单体项目过于复杂,需要操作多个业务库的时候,就需要多数据源 ...

  8. springboot 多数据源_SpringBoot整合多数据源的巨坑一

    导读 本篇文章接上篇SpringBoot整合多数据源,你会了吗?,前面文章最后留了几个问题供大家思考,今天一一揭晓. 配置如何优化 上文整合的过程中的还顺带整合Mybatis和TransactionM ...

  9. 什么是数据源?如何配置数据源?

    1.什么是数据源? 数据源是连接到数据库的一类路径,它包含了访问数据库的信息(地址.用户名.密码). 拓展: 数据库 数据库是一个容器,包含了很多数据,当然这些数据可能存在不同的小容器(表)里面. 若 ...

  10. reportConfig.xml两种数据源连接的配置方式

     在reportConfig.xml配置文件中,我们提供了两种数据源连接的配置方式,分别如下: 1.jndi数据源配置(即:在dataSource中配置) 此配置适用于在j2ee的服务器中配置了j ...

最新文章

  1. 不要一辈子都指望用技术赚钱
  2. 敲了几年代码,是时候考虑以后的发展了
  3. 怎么做才能将请求平摊到多台服务器上面去呢
  4. PostgreSQL 内存OOM控制策略导致数据库无法启动的诊断一例(如何有效避免oom)
  5. mnist tensorrt 运行_TensorRT学习
  6. 微信小程序订阅消息:用云服务编写订阅消息超详细描述
  7. 使用Java快速实现进度条
  8. XPDL学习与分享 二 XPDL整体结构
  9. 小程序的横向二级顶部导航条,可以切换、拖动、二级定位在一级的下面,高度怎么办
  10. 元宇宙办公穿越时空奥秘探索无限可能
  11. 赚想赚钱的人的钱最好赚了
  12. PHP微信公众号开发接口封装
  13. 赵小楼《天道》《遥远的救世主》深度解析(118)女人的客观就那么难么?不难。难的是不想客观的人。
  14. 如何做好项目管理,实现高效的项目管理?
  15. The security economics of large-scale attacks against Internet-connected ICS devices
  16. 让命令不尽然history历史纪录的一种方法
  17. 【数学建模】建模比赛记录总结篇
  18. Java遍历Map的五种方式
  19. 工业相机SDK使用Python打开无法显示图像
  20. 安装windows11,跳过联网激活,跳过登录微软账户

热门文章

  1. ToStringBuilder学习(三):readResolve()方法与序列化
  2. sql server日期时间函数
  3. 聚类算法:Hierarchical Clustering层次聚类
  4. 《研磨设计模式》chap20 享元模式 Flyweight (3)重写应用场景
  5. Kubernetes各组件的功能
  6. 设计模式--备忘录(Memento)模式
  7. python—多线程之共享数据
  8. [ARM异常]-armv8/armv9异步异常类型、路由、屏蔽
  9. (50)补充内容:SSDT HOOK 模板
  10. (20)PDE_PTE属性(U/S PS A D 有效位)