整合多数据源

这里有两种,分包数据源和注解数据源,这里讲分包数据源

配置文件中新增两个数据源

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

配置文件中新增两个数据源

@Configuration// 注册到springboot容器中

@MapperScan(basePackages = "com.itmayiedu.user1", sqlSessionFactoryRef = "test1SqlSessionFactory")

publicclass DataSource1Config {

 

      /**

       *

       * @methodDesc: 功能描述:(配置test1数据库)

       * @param: @return

       * @createTime:2017917下午3:16:44

       * @returnType:@return DataSource

       */

      @Bean(name = "test1DataSource")

      @Primary

      @ConfigurationProperties(prefix = "spring.datasource.test1")

      public DataSource testDataSource() {

            return DataSourceBuilder.create().build();

      }

 

      /**

       *

       * @methodDesc: 功能描述:(test1 sql会话工厂)

       * @param: @param

       *             dataSource

       * @param: @return

       * @param: @throws

       *             Exception

       * @createTime:2017917下午3:17:08

       * @returnType:@param dataSource

       * @returnType:@return

       * @returnType:@throws Exception SqlSessionFactory

       */

      @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"));

            returnbean.getObject();

      }

 

      /**

       *

       * @methodDesc: 功能描述:(test1 事物管理)

       * @param: @param

       *             dataSource

       * @param: @return

       * @param: @throws

       *             Exception

       * @createTime:2017917下午3:17:08

       * @returnType:@param dataSource

       * @returnType:@return

       * @returnType:@throws Exception SqlSessionFactory

       */

      @Bean(name = "test1TransactionManager")

      @Primary

      public DataSourceTransactionManager testTransactionManager(@Qualifier("test1DataSource") DataSource dataSource) {

            returnnew DataSourceTransactionManager(dataSource);

      }

 

      @Bean(name = "test1SqlSessionTemplate")

      public SqlSessionTemplate testSqlSessionTemplate(

                  @Qualifier("test1SqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {

            returnnew SqlSessionTemplate(sqlSessionFactory);

      }

 

}

创建分包Mapper

public interface User1Mapper {

@Insert("insert into users values(null,#{name},#{age});")

public int addUser(@Param("name") String name, @Param("age") Integer age);

}

启动项目

@ComponentScan(basePackages = "com.itmayiedu")

@EnableAutoConfiguration

publicclass App {

      publicstaticvoid main(String[] args) {

            SpringApplication.run(App.class, args);

      }

}

SpringBoot-整合多数据源的更多相关文章

  1. springBoot整合多数据源

    springBoot整合相关 1:springBoot整合多数据源: 应用场景:     项目需要同时连接两个不同的数据库A, B,并且它们都为主从架构,一台写库,多台读库. 工具/版本: jdk1. ...

  2. springboot整合多数据源解决分布式事务

    一.前言        springboot整合多数据源解决分布式事务.             1.多数据源采用分包策略              2.全局分布式事务管理:jta-atomikos. ...

  3. SpringBoot整合多数据源实现

    项目架构 1.导入相关依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifac ...

  4. springboot整合多数据源及事物

    有两种方式:一种是分包的方式.一种是加注解的方式(@DataSource(ref="")). 分包方式:项目结构图如下: 分为com.itmayiedu.test01.com.it ...

  5. SpringBoot整合Druid数据源

    关于SpringBoot数据源请参考我上一篇文章:https://www.cnblogs.com/yueshutong/p/9409295.html 一:Druid介绍 1. Druid是什么? Dr ...

  6. SpringBoot整合Mybatis【非注解版】

    接上文:SpringBoot整合Mybatis[注解版] 一.项目创建 新建一个工程 ​ 选择Spring Initializr,配置JDK版本 ​ 输入项目名 ​ 选择构建web项目所需的state ...

  7. SpringBoot整合Mybatis之项目结构、数据源

    已经有好些日子没有总结了,不是变懒了,而是我一直在奋力学习springboot的路上,现在也算是完成了第一阶段的学习,今天给各位总结总结. 之前在网上找过不少关于springboot的教程,都是一些比 ...

  8. SpringBoot整合阿里Druid数据源及Spring-Data-Jpa

    SpringBoot整合阿里Druid数据源及Spring-Data-Jpa https://mp.weixin.qq.com/s?__biz=MzU0MDEwMjgwNA==&mid=224 ...

  9. SpringBoot系列七:SpringBoot 整合 MyBatis(配置 druid 数据源、配置 MyBatis、事务控制、druid 监控)

    1.概念:SpringBoot 整合 MyBatis 2.背景 SpringBoot 得到最终效果是一个简化到极致的 WEB 开发,但是只要牵扯到 WEB 开发,就绝对不可能缺少数据层操作,所有的开发 ...

  10. SpringBoot整合Mybatis多数据源 (AOP+注解)

    SpringBoot整合Mybatis多数据源 (AOP+注解) 1.pom.xml文件(开发用的JDK 10) <?xml version="1.0" encoding=& ...

随机推荐

  1. Office 2007 打开时总是出现配置进度框

    解决办法: cmd 打开控制台 输入命令:reg add HKCU\Software\Microsoft\Office\12.0\Word\Options /v NoReReg /t REG_DWOR ...

  2. iLBC

    iLBC是一种专为包交换网络通信设计的编解码,优于目前流行的G.729.G.723.1,对丢包进行了特有处理,即使在丢包率 相当高的网络环境下,仍可获得非常清晰的语音效果.

  3. python之WSGI与Guincorn

    WSGI与Guincorn WSGI WSGI (Web Server Gateway Interface),WSGI是为Python语言定义的Web服务器和Web应用程序之间的一种通用接口. 如下图 ...

  4. iOS开发之--cocopods相关问题及解决方法

    Note: as of CocoaPods 1.0, `pod repo update` does not happen on `pod install` by default 解决办法:删除工程中的 ...

  5. Linux内核 GPIO操作部分API

    内核中关于GPIO的操作API主要集中在<linux/of_gpio.h>和<linux/gpio.h>中,前者主要是GPIO直接与设备树相关的操作,在Linux 设备树操作A ...

  6. 解决UEFI启动模式下无法使用U盘启动WIN7安装界面

    问题场景 现在很多人都习惯使用U盘进行安装系统,主要是快捷方便.本文主要是讲解一下U盘在UEFI模式下无法启动Windows7安装界面的问题,可能很多人会说使用PE系统进行安装,但是因为我的主板只有独 ...

  7. Unity3D Shader 高斯模糊

    //Shader Shader "Hidden/GaussianBlur" { Properties { _MainTex ("Texture", 2D) = ...

  8. mysql学习之索引

    首先,看一个例子,有一张大表,记录数超过1000,SELECT * FROM student WHERE name='xinan'; 如果没有索引,查找程序就得从头查找,很费时间,表越大越费时间.建立 ...

  9. B - Hamburgers

    Polycarpus loves hamburgers very much. He especially adores the hamburgers he makes with his own han ...

  10. ubuntu下pig报错ERROR 2999: Unexpected internal error. Failed to create DataStorage的解决

    2019-03-04 00:10:03,998 [main] ERROR org.apache.pig.Main - ERROR 2999: Unexpected internal error. Fa ...