如何在Java中同时连接MySQL和SQL Server数据库

流程图

flowchart TD;
    A[开始] --> B[创建MySQL连接]
    A[开始] --> C[创建SQL Server连接]
    B --> D[执行MySQL查询]
    C --> E[执行SQL Server查询]
    D --> F[处理MySQL结果]
    E --> G[处理SQL Server结果]
    F --> H[关闭MySQL连接]
    G --> I[关闭SQL Server连接]
    H --> J[结束]
    I --> J[结束]

步骤和代码示例

步骤1:创建MySQL连接

// 导入所需的类
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

// 定义MySQL连接参数
String mysqlUrl = "jdbc:mysql://localhost:3306/mydatabase";
String mysqlUser = "username";
String mysqlPassword = "password";

// 创建MySQL连接
try {
    // 加载驱动程序
    Class.forName("com.mysql.jdbc.Driver");
    // 建立连接
    Connection mysqlConnection = DriverManager.getConnection(mysqlUrl, mysqlUser, mysqlPassword);
    // 打印连接成功信息
    System.out.println("MySQL连接成功!");
} catch (ClassNotFoundException e) {
    e.printStackTrace();
} catch (SQLException e) {
    e.printStackTrace();
}

步骤2:创建SQL Server连接

// 导入所需的类
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

// 定义SQL Server连接参数
String sqlServerUrl = "jdbc:sqlserver://localhost:1433;databaseName=mydatabase";
String sqlServerUser = "username";
String sqlServerPassword = "password";

// 创建SQL Server连接
try {
    // 加载驱动程序
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    // 建立连接
    Connection sqlServerConnection = DriverManager.getConnection(sqlServerUrl, sqlServerUser, sqlServerPassword);
    // 打印连接成功信息
    System.out.println("SQL Server连接成功!");
} catch (ClassNotFoundException e) {
    e.printStackTrace();
} catch (SQLException e) {
    e.printStackTrace();
}

步骤3:执行MySQL查询

// 导入所需的类
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

// 创建MySQL连接(省略)

// 执行MySQL查询
try {
    // 创建Statement对象
    Statement mysqlStatement = mysqlConnection.createStatement();
    // 执行查询语句
    ResultSet mysqlResult = mysqlStatement.executeQuery("SELECT * FROM mytable");
    // 处理查询结果
    while (mysqlResult.next()) {
        // 获取每一行数据并进行处理
        String column1 = mysqlResult.getString("column1");
        String column2 = mysqlResult.getString("column2");
        // 打印结果
        System.out.println("MySQL查询结果:" + column1 + ", " + column2);
    }
} catch (SQLException e) {
    e.printStackTrace();
}

步骤4:执行SQL Server查询

// 导入所需的类
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

// 创建SQL Server连接(省略)

// 执行SQL Server查询
try {
    // 创建Statement对象
    Statement sqlServerStatement = sqlServerConnection.createStatement();
    // 执行查询语句
    ResultSet sqlServerResult = sqlServerStatement.executeQuery("SELECT * FROM mytable");
    // 处理查询结果
    while (sqlServerResult.next()) {
        // 获取每一行数据并进行处理
        String column1 = sqlServerResult.getString("column1");
        String column2 = sqlServerResult.getString("column2");
        // 打印结果
        System.out.println("SQL Server查询结果:" + column1 + ", " + column2);
    }
} catch (SQLException e) {
    e.printStackTrace();
}

步骤5:关闭MySQL连接

// 导入所需的类
import java.sql.Connection;
import java.sql.SQLException;

// 关闭MySQL连接
try {
    mysqlConnection.close();
    System.out.println("MySQL连接已关闭!");
} catch (SQLException e) {
    e.printStackTrace();
}

步骤6:关闭SQL Server连接

// 导入所需的类
import java.sql.Connection;
import java.sql.SQLException;

// 关闭SQL Server连接
try {
    sqlServerConnection.close();
    System.out.println("SQL Server连接已关闭!");
} catch (SQLException e) {
    e.printStackTrace();
}

序列图

sequenceDiagram
    participant 小白
    participant 开发者

    小白->>开发者: 请求教学
    开发者->>小白: 解答问题
    小白->>开发者: 需要