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層

   

   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM