java 两个不同库的sql 如何用代码实现实例
时间: 2024-02-18 10:59:02 浏览: 22
在Java中,实现两个不同库的SQL查询,需要使用JDBC连接到数据库,并使用SQL语句进行查询。下面是一个简单的示例,假设有两个数据库DB1和DB2,需要查询DB1中的table1表中的所有数据和DB2中的table2表中的所有数据。
```
import java.sql.*;
public class Test {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// 加载JDBC驱动
Class.forName("com.mysql.jdbc.Driver");
// 连接数据库DB1
Connection conn1 = DriverManager.getConnection("jdbc:mysql://localhost:3306/DB1", "root", "password1");
// 连接数据库DB2
Connection conn2 = DriverManager.getConnection("jdbc:mysql://localhost:3306/DB2", "root", "password2");
// 执行SQL语句
Statement stmt1 = conn1.createStatement();
ResultSet rs1 = stmt1.executeQuery("SELECT * FROM table1");
Statement stmt2 = conn2.createStatement();
ResultSet rs2 = stmt2.executeQuery("SELECT * FROM table2");
// 输出查询结果
while (rs1.next()) {
int id = rs1.getInt("id");
String name = rs1.getString("name");
System.out.println("id: " + id + ", name: " + name);
}
while (rs2.next()) {
int id = rs2.getInt("id");
int age = rs2.getInt("age");
System.out.println("id: " + id + ", age: " + age);
}
// 关闭所有连接
rs1.close();
stmt1.close();
rs2.close();
stmt2.close();
conn1.close();
conn2.close();
}
}
```
上述代码中,我们首先使用Class.forName()方法加载了MySQL的JDBC驱动,然后分别通过DriverManager.getConnection()方法连接到了DB1和DB2数据库。接着使用Statement对象执行了两条SQL语句,分别查询了DB1数据库中的table1表和DB2数据库中的table2表。最后,通过ResultSet对象遍历查询结果并输出。最后别忘了关闭所有连接。需要注意的是,查询语句中不需要指定数据库名,因为已经在连接字符串中指定了。