首先需要建立两个库进行测试,我这里使用的是master_test和slave_test两个库,两张库都有一张同样的表(偷懒,喜喜),表结构
表名t_user
|字段名|类型|备注|
引用>
|:- - - - - - |:- - - - - -:|:- - - - - -:|
| | int id |主键自增id |
| | varchar名称|名称|
表中分别添加两条不同数据,方便测试
主数据库记录名字为xiaobin,从库为小刘
开始使用Springboot整合mybatis,首先引入pom文件
& lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比; & lt;项目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”比; & lt; modelVersion> 4.0.0 & lt; parent> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-parent & lt; version> 2.1.4.RELEASE & lt;/parent> & lt; groupId> com.xiaobin & lt; artifactId> mysql_master_slave & lt; version> 1.0 -snapshot & lt; properties> & lt; java.version> 1.8 & lt;/java.version> & lt; lombok.version> 1.18.6 & lt; mybatis.version> 1.3.2 & lt; lombox.version> 1.18.6 & lt;/properties> & lt; dependencies> & lt; !——添加网络启动坐标——比; & lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-web & lt;/dependency> & lt; !——添加lombok工具坐标——比; & lt; dependency> & lt; groupId> org.projectlombok & lt; artifactId> lombok & lt; version> $ {lombok.version} & lt;/version> & lt;/dependency> & lt; !——添加springboot测试坐标——比; & lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-test & lt;/dependency> & lt; !——添加lombox测试坐标——比; & lt; dependency> & lt; groupId> org.projectlombok & lt; artifactId> lombok & lt; version> $ {lombox.version} & lt;/version> & lt;/dependency> & lt; !——添加mybatis依赖坐标——比; & lt; dependency> & lt; groupId> org.mybatis.spring.boot & lt; artifactId> mybatis-spring-boot-starter & lt; version> $ {mybatis.version} & lt;/version> & lt;/dependency> & lt; !——添加mysql驱动器坐标——比; & lt; dependency> & lt; groupId> mysql & lt; artifactId> mysql-connector-java & lt;/dependency> & lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-jdbc & lt;/dependency> & lt; !——添加德鲁伊数据源坐标——比; & lt; dependency> & lt; groupId> com.alibaba & lt; artifactId> druid-spring-boot-starter & lt; version> 1.1.10 & lt;/dependency> & lt; !——添加AOP坐标——比; & lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-aop & lt;/dependency> & lt;/dependencies> & lt;/project>
这里使用的数据源为德鲁伊,实现数据源之间的切换用@DataSource自定义注解,配置Aop进行切换
应用程序。yml配置文件
春天: 数据源: 类型:com.alibaba.druid.pool.DruidDataSource 德鲁伊: xiaobin-master: #主数据源 driverClassName: com.mysql.jdbc.Driver 用户名:根 密码:根 url: jdbc: mysql://localhost: 3306/master_test& # 63; serverTimezone=% 2 b8&格林尼治时间;useUnicode=true& characterEncoding=utf8 xiaobin-slave: #从数据源 driverClassName: com.mysql.jdbc.Driver 用户名:根 密码:根 url: jdbc: mysql://localhost: 3306/slave_test& # 63; serverTimezone=% 2 b8&格林尼治时间;useUnicode=true& characterEncoding=utf8 mybatis: mapper-locations:类路径:mapper/* . xmlMybatis注解实现多数据源读写分离详解