首页 > 编程语言 > 详细

SpringBoot整合Mybatis多数据源

时间:2019-12-28 17:35:17      阅读:89      评论:0      收藏:0      [点我收藏+]

一、创建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层

? ?

技术分享图片

? ?

SpringBoot整合Mybatis多数据源

原文:https://www.cnblogs.com/fernfei/p/12112036.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!