如何在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 开发者
小白->>开发者: 请求教学
开发者->>小白: 解答问题
小白->>开发者: 需要