SpringBoot项目多数据源配置(亲测有效)

本文介绍了在SpringBoot项目中配置多数据源的步骤,包括数据库环境准备、项目结构、pom依赖、application.yml配置、实体类bean、数据源配置、DAO层和服务层的实现。在配置过程中需要注意@Primary注解的使用,以及在不同模块中配置文件的选择,避免出现"dataSource or dataSourceClassName or jdbcUrl is required"的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、开发环境准备

开发工具:IDEA
开发工具:Maven+JDK8
所用技术:SpringBoot+Mybatis
数据库:MySQL
SpringBoot版本:2.1.0

2、创建SpringBoot项目,项目结构如下
在这里插入图片描述
3、数据库信息

创建两个数据库和 user 表、money表。
我们一共创建的两个数据库 test1 和 test2,然后分别在这两个数据库中创建了 user 用户表、money工资详情表(字段随便设置)。

4、pom文件依赖

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.2</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

5、配置application.yml

注意事项:
	在1.0 配置数据源的过程中主要是写成:spring.datasource.url 和spring.datasource.driverClassName。
而在2.0升级之后需要变更成:spring.datasource.jdbc-url和spring.datasource.driver-class-name!不然在连接数据库时可能会报下面的错误:另外在在2.0.2+版本后需要在datasource后面加上hikari,如果你没有加的话,同样可能会报错。

Error querying database. Cause: java.lang.IllegalArgumentException: jdbcUrl is required with driverClassName.

Spring:
  datasource:
    hikari:
      db1:
        jdbc-url: jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=GMT%2B8
        username: root
        password: root
      db2:
        jdbc-url: jdbc:mysql://localhost:3306/test2?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=GMT%2B8
        username: root
        password: root
      driver-class-name: com.mysql.cj.jdbc.Driver

6、实现

①:创建实体类bean
②:数据源配置

package com.test.demo.config;

import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值