Java代码,将一个服务器中的数据库数据更新到另一个服务器的数据库中
时间: 2024-02-09 21:07:55 浏览: 78
以下是一个简单的Java代码示例,演示如何将一个服务器中的数据库数据更新到另一个服务器的数据库中。该示例使用了JDBC连接数据库,使用PreparedStatement对象执行SQL语句,实现了数据的同步。
```java
import java.sql.*;
import java.util.*;
public class DatabaseSync {
public static void main(String[] args) {
String sourceDBUrl = "jdbc:mysql://source_server_ip/source_database";
String sourceDBUser = "source_username";
String sourceDBPassword = "source_password";
String targetDBUrl = "jdbc:mysql://target_server_ip/target_database";
String targetDBUser = "target_username";
String targetDBPassword = "target_password";
try {
// 连接源数据库
Connection sourceConn = DriverManager.getConnection(sourceDBUrl, sourceDBUser, sourceDBPassword);
Statement sourceStmt = sourceConn.createStatement();
// 连接目标数据库
Connection targetConn = DriverManager.getConnection(targetDBUrl, targetDBUser, targetDBPassword);
Statement targetStmt = targetConn.createStatement();
// 查询源数据库中的数据
ResultSet sourceRs = sourceStmt.executeQuery("SELECT * FROM source_table");
// 遍历结果集,将数据插入到目标数据库中
while (sourceRs.next()) {
String id = sourceRs.getString("id");
String name = sourceRs.getString("name");
String age = sourceRs.getString("age");
// 构造插入语句
String insertSql = "INSERT INTO target_table (id, name, age) VALUES (?, ?, ?)";
PreparedStatement insertStmt = targetConn.prepareStatement(insertSql);
insertStmt.setString(1, id);
insertStmt.setString(2, name);
insertStmt.setString(3, age);
insertStmt.executeUpdate();
}
// 关闭数据库连接
sourceRs.close();
sourceStmt.close();
sourceConn.close();
targetStmt.close();
targetConn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
需要注意的是,上述代码中的数据库连接信息需要根据实际情况进行修改。另外,该示例中只是简单地将源数据库中的数据插入到目标数据库中,实际应用中可能需要考虑更复杂的数据同步逻辑。
阅读全文