-- 创造无限可能

Spring Boot连接两个数据库

2023-08-21 15:55:26
953 人浏览 0 人点赞
有用,点赞支持一下

第一步

application.yml配置,添加两个数据配置

spring:
  datasource:
    primary:
      driver-class-name: com.mysql.cj.jdbc.Driver
      jdbc-url: jdbc:mysql://localhost:3306/test001
      username: root
      password: 123456

    # 第二个数据库配置
    second:
      driver-class-name: com.mysql.cj.jdbc.Driver
      jdbc-url: jdbc:mysql://localhost:3306/test002
      username: root
      password: 123456

第二步

添加一个数据库配置类

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;

import javax.sql.DataSource;

@Configuration
public class DataSourceConfig {

    @Primary
    @Bean(name = "primaryDataSource")
    @ConfigurationProperties(prefix="spring.datasource.primary")
    public DataSource primaryDataSource() {
        return DataSourceBuilder.create().build();
    }

    @Bean(name = "secondDataSource")
    @ConfigurationProperties(prefix="spring.datasource.second")
    public DataSource secondDataSource() {
        return DataSourceBuilder.create().build();
    }
}

第三步

测试是否链接成功,尝试写入一条数据

    @GetMapping("test")
    public void test() throws Exception{

        // 创建数据库连接
        Connection connection = secondDataSource.getConnection();

        // 创建SQL语句
        String sql = "INSERT INTO tx_test (name) VALUES (?)";

        // 创建预编译语句
        PreparedStatement label = connection.prepareStatement(sql);


        // 执行语句
        label.setString(1, "4545");
        label.executeUpdate();

        // 关闭连接和语句
        label.close();
        connection.close();
    }

数据库写入成功