写这篇文章的初衷是应为最近一直在学习spring boot相关的一些东西,而在spring boot整合mybatis中相关的博客有很多,可多数都是描述不清然人产生疑惑,或者干脆就是存在问题。尤其是在事务管理这里,大家说的都很含糊,于是在经过最近自己的学习后,决定把自己整理的资历拿出了分享。
##多数据源
关于多数据源的实现,这里提供两种思路
-
通过指定不同包下的dao层实现来解决
-
通过service层动态指定数据源
下面会对这两种思路做分别的实现。
##一.多数据源的基本配置
开始前我们先准备两个库,这里使用MySQL数据库
test库和test_bac用来模拟两个数据源
在两个库下分别创建一张user表
CREATE TABLE user
(
id
int(11) NOT NULL,
user_name
varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
age
int(11) DEFAULT NULL,
sex
bit(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
- 首先创建一个空spring boot工程
- 工程结构如下
- pom.xml如下
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.wxy</groupId>
<artifactId>double-data-source</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging&g