由于在编码过程中,发现对于数据库的表结构,要进行同步,必须对每一个表制作一个Reader/Writer的实现。因为,对于每一个表结构之间的差异都会比较大,因此对每一个表提供一个ISourceReader实现和ISourceWriter实现可以对每一个表的操作做到个性化设置。对于每一个表需要在对方数据库中同步的表,都可以使用xml的配置文件进行mapping,包括表中的字段名称的mapping。
对于表之间的关联关系,需要进行特殊的处理,在这个处理过程中,将引入Priority类进行优先级配置,即在同步过程中,会最先同步那些优先级最高的数据,随后同步那些优先级较低的数据。这样一来,可以将最顶的父表的优先级设置到最高,与其有联系的表可以将其优先级设置的低一级,或更低一级。无关的表之间即使优先级有所重复,也没有影响。只要在一个依赖关系链上,将其优先级处理好即可。
在数据传输过程中,我们不能单独的只依靠IData数据,IData数据的内部的noumenon应该会是一个真实存储数据表的bean对象,因此,设计IDataBean接口,作为noumenon的存储类型。IDataBean提供了对Bean内部的字段属性的访问,这一思路来源于struts的ActionForm和DynamicActionForm的设计思路。而数据库的表数据Bean-TableDataBean则是继承了IDataBean的骨架实现AbstractDataBean。并提供了设置优先级的方法,以解决关联关系依赖链的问题。
博客介绍了数据库表结构同步的方法,为每个表制作Reader/Writer实现,用xml配置文件进行表和字段的mapping。对于表间关联关系,引入Priority类配置优先级。数据传输时,设计IDataBean接口存储数据,数据库表数据Bean继承AbstractDataBean并提供设置优先级方法。
5万+

被折叠的 条评论
为什么被折叠?



