时间戳法: (用时间作比较)
用过MINA的人都知道,MINA是一个基于网络的异步通信的框架,它可以实现两台机器的信息的交互,不仅可以使用java通信,还可以应用于网页的信息交互。
不过在这里讲的是用——MINA 实现两个数据库的数据同步。
准备工作:
MINA 实现数据库同步 需要借助 JDBC 和 JSON 数据格式处理的jar包, 这里编解码器就不用说了,都是mina必备的内容。我这里用的是
累积协议编解码器
。
直接逻辑:
1. 需要了解一下mysql 中的一个类型为 TimeStamp 的字段,这个字段你可以手动新建一下,验证一下它的功能特点,简单来说: 它是一个可以记录 ——数据库创建一条记录或者更新一条 ——的时间,时间格式大概为“YYYY-MM-DD HH-MM-SS”.
2. 我喜欢创建两个字段,一个记录更新的时间,一个记录数据插入的时间,这样我可以分别查找,然后分别进行操作。
3. 根据你想要同步的时间,定义你想什么时候,同步哪一个时间段的数据。(定时执行 Timer类了解一下)
4. 两个时间字段,可以大概解决数据库对数据的 更新 和 插入 的SQL操作。
5. 通过 传输数据库表的 主键,我们来找到两个数据库相同的表中需要删除的记录,假如 两个数据库的主键 有所不同,那么获取到 主键的插入时间,如果插入时间不包括在你需要执行同步时间,那么说明这条记录不是该时间段插入的,引起的不同只能是另一个表删除了,那么删除当前表内的这个数据。
以上,实现了数据库的 增、删、改、查 的基本操作,与逻辑实现。 不用谢,不用谢!!!