• SpringBoot整合Mybatis多数据源


    一、创建springboot项目并导入相关依赖

       

    <dependency>

    <groupId>com.alibaba</groupId>

    <artifactId>druid-spring-boot-starter</artifactId>

    <version>1.1.10</version>

    </dependency>

       

    <dependency>

    <groupId>mysql</groupId>

    <artifactId>mysql-connector-java</artifactId>

    <scope>runtime</scope>

    <version>5.1.27</version>

    </dependency>

       

    注:maven建议把mybatis的xml文件(也是mybatis查询写sql语句的xml)放在recourse文件下,所以运行的时候会跳过src/main/java下的xml,所以加上如下配置

       

    <resources>

    <resource>

    <directory>src/main/java</directory>

    <includes>

    <include>**/*.xml</include>

    </includes>

    </resource>

    <resource>

    <directory>src/main/resouce</directory>

    </resource>

    </resources>

       

    二、配置多数据相关设置

       

    1.1

       

    application.perteries文件

       

    spring.datasource.one.type=com.alibaba.druid.pool.DruidDataSource

    spring.datasource.one.url=jdbc:mysql://127.0.0.1:3306/jdbctemplates?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=GMT

    spring.datasource.one.username=root

    spring.datasource.one.password=123

       

    spring.datasource.two.type=com.alibaba.druid.pool.DruidDataSource

    spring.datasource.two.url=jdbc:mysql://127.0.0.1:3306/jdbctemplates2?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=GMT

    spring.datasource.two.username=root

    spring.datasource.two.password=123

       

    1.2

       

    创建三个配置类

       

    DataSourceConfig类

       

    @Configuration

    publicclassDataSourceConfig{

    @Bean

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

    DataSourcedataSourceOne(){

    returnDruidDataSourceBuilder.create().build();

    }

       

    @Bean

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

    DataSourcedataSourceTwo(){

    returnDruidDataSourceBuilder.create().build();

    }

    }

       

    MyBatisConfigOne类

       

    @Configuration

    @MapperScan(basePackages="com.hufei.mybatis.mybatisdemo.mapper1",

    sqlSessionFactoryRef="sqlSessionFactoryOne",

    sqlSessionTemplateRef="sqlSessionTemplateOne")

    publicclassMyBatisConfigOne{

    @Autowired

    @Qualifier("dataSourceOne")

    privateDataSourcedataSourceOne;

       

    @Bean

    SqlSessionFactorysqlSessionFactoryOne(){

    SqlSessionFactoryBeansqlSessionFactoryBean=newSqlSessionFactoryBean();

    try{

    sqlSessionFactoryBean.setDataSource(dataSourceOne);

    returnsqlSessionFactoryBean.getObject();

    }catch(Exceptione){

    e.printStackTrace();

    }

    returnnull;

    }

       

    @Bean

    SqlSessionTemplatesqlSessionTemplateOne(){

    returnnewSqlSessionTemplate(sqlSessionFactoryOne());

    }

    }

       

    MybatisConfigTwo类

       

    同上

       

    1.3

       

    创建俩个Mapper

       

       

       

       

    1.4

    controller层

       

       

  • 相关阅读:
    Java Thread wait, notify and notifyAll Example
    Life Cycle of Thread – Understanding Thread States in Java
    Handle源码分析,深入群内了解风骚的Handle机制
    Android组件间交互
    虚拟化M搭建及基本操作
    双心跳线
    Linux集群存储配置
    在linux系统上怎么获取命令的帮助信息及man文档划分
    Linux发行版的基础目录名称、命名法则及功能规定
    hwclock详解
  • 原文地址:https://www.cnblogs.com/fernfei/p/12112036.html
Copyright © 2020-2023  润新知