java - 比较两个表并更新第二个表
问题描述
我是java新手,我正在处理两张表,一张在服务器端,另一张在客户端。我想要的是当服务器数据库中有任何更新时,它应该反映在客户端数据库中,并且当在服务器中找不到客户端数据时,它应该被删除。在下面的代码中,我获取了两个表数据。
服务器表 1
ID | NAME
1 | ABC
2 | ABC
4 | ABC
5 | ABC
本地表2
ID | NAME
1 | ABC
2 | ABC
3 | ABC
4 | ABC
本地表上的预期结果
ID | NAME
1 | ABC
2 | ABC
4 | ABC
5 | ABC
这是我的代码
// LOCAL DATA
ResultSet local_data = stmth2.executeQuery("SELECT * FROM emoticon");
local_data.next();
//SERVER DATA
Class.forName("com.mysql.jdbc.Driver");
Connection con9 = DriverManager.getConnection("jdbc:mysql://localhost:3306/mood","root","");
Statement stmt9 = con9.createStatement();
ResultSet server_data = stmt9.executeQuery("SELECT * FROM emo");
有没有标准的方法来实现这一点
解决方案
如果两个表都在不同的 MySQL 服务器上,您可以使用复制。
否则,如果本地表不在另一个 MySQL 服务器中,您可能会找到一种在 Java 程序中模仿 MySQL 服务器的方法。也就是说,让它无论如何都可以用作复制的从属。
或者,这在您的 Java 程序中应该总是可能的,使用轮询。让一个线程检查远程表并每隔n秒将其与本地表同步。当然,这对资源来说并不是太温和。并且在更改传播到客户端之前会有延迟。
推荐阅读
- javascript - Angular:仅在 ng build --prod 上构建 ES2015
- google-apps-script - 如何使用 Google Apps 脚本在一列中对多列进行分组?
- jenkins - 如何删除 Jenkinsfile 中的文件夹?
- ios - 在 TextView 中渲染新行
- scala - cat.ReaderT[F,A,B] 来自依赖项 A 的理解
- jboss - wildfly.service 的作业失败,因为控制进程以错误代码退出
- python - cv2.imshow 显示二进制图像
- c# - 在 .NET 中反序列化 xs:normalizedString
- android - 如何在没有搜索视图的片段中添加搜索功能
- python - python 上下文如何与变量作用域相关联?