QX项目实战-11.基础架构试验二:反序列化对象、重写数据库
上篇文章[1]中,实现了实验的前三步。下面开始实验的后两步:重建对象、数据库操作和消息平台的实现与完善。整个系统的架构如图所示,即传递的对象是封装了数据库操作对象和数据库SQL语言的report对象,在客户端解析完成后,重做数据库:
首先修正上篇文章中的发送和接收消息程序,之前的代码估计因为配置问题导致程序发送消息不是太流畅,这里改用如下版本程序,进行发送和接受report对象。QueueSend代码如下:
package client.curd; import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement; import server.db.DB; public class rebuild { public voiddoReport(report r) { try { Connectionconn = DB.getConn(); Statementstmt = conn.createStatement(); Stringsql = r.getSqlQuery().getQuery(); System.out.println(sql); if(sql.startsWith("select")){ ResultSetrs = stmt.executeQuery(sql); while(rs.next()){ System.out.println(rs.getInt(1)+rs.getString(2)+rs.getString(3)); } } elseif(sql.startsWith("update")){ intresult = stmt.executeUpdate(sql); System.out.println(result); } } catch(ClassNotFoundException e) { e.printStackTrace(); } catch(SQLException e) { e.printStackTrace(); } finally{ } } }
以上三段代码实现了数据库操作的重做业务逻辑,保证了消息的传递和数据库的同步。下一步准备采用web架构写一个消息平台,同时准备对异构数据库的同步进行实验。
参考
1. QX项目实战-10.基础架构实验一