如何实现SpringBoot整合Mybatis框架多数据源和动态数据源配置落地

本文详细介绍了如何在SpringBoot中整合Mybatis框架,包括配置Maven依赖、数据源设置、MapperScan扫描、多数据源应用场景及配置,以及动态数据源的创建和AOP实现数据源切换。通过这些步骤,可以实现项目的读写分离和灵活的数据源管理。
摘要由CSDN通过智能技术生成

Mybatis是什么

Mybatis是一个基于JDBC实现的,支持普通 SQL 查询、存储过程和高级映射的优秀持久层框架,去掉了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索封装。

Mybatis主要思想是将程序中大量的 SQL 语句剥离出来,配置在配置文件中,以实现 SQL 的灵活配置。在所有 ORM 框架中都有一个非常重要的媒介——PO(持久化对象),PO 的作用就是完成持久化操作,通过该对象对数据库执行增删改的操作,以面向对象的方式操作数据库。

SpringBoot整合Mybatis框架

配置Maven依赖

使用SpringBoot整合Mybatis需要添加Maven起步依赖,如下所示。

<!-- mybatis -->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>x.x.x</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>
复制代码

配置数据源

然后通过 application.yml 中的 spring.datasource.* 前缀

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/spring_test2?characterEncoding=utf8&useSSL=false
    username: root
password: root
复制代码

构建数据模型

public class ProductInfo implements Serializable {
    private Long productId;
    private String productName;
    private Double productPrice;
    private Date gmtCreate;
    private Date gmtModified;
    //省略getter、setter方法
}
复制代码

MapperScan配置扫描

在启动类中添加对 mapper 包扫描 @MapperScan:

@SpringBootApplication
@MapperScan("com.example.springboot.mapper")
复制代码

多数据源

接下来,我们要针对于多数据源和动态数据源进行实现对应的落地方案,希望可以帮助到大家

应用场景

项目需要同时连接两个不同的数据库A, B,并且它们都为主从架构,一台写库,多台读库。

多数据源

首先,要将spring boot自带的DataSourceAutoConfiguration禁掉,因为它会读取application.properties文件的spring.datasource.*属性并自动配置单数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值