syDataProcess项目

6 篇文章 0 订阅
4 篇文章 0 订阅

 

项目背景

      这是我的毕业设计作品。上次的generalDAO,是为了演示通过反射机制获取字段信息和拼接SQL语句的方式访问数据库。实现的功能较弱,并且项目的可扩展性不强。这次再对数据访问进行分析和抽象,完成了syDataProcess项目。

 

设计过程

      在generalDAO中,获取信息和拼接字符串是在一起完成的使结构混乱。首先应该分开这两种处理过程

1、在底层实现数据库访问,向上提供统一的接口

2、更高层实现通过反射获取VO类信息,并调用统一的数据库访问接口

 

分层

      首先需要考虑的一个问题是如何对项目进行分层,保证程序具有良好的可扩展性。程序分为数据访问层,Cache层,VO处理层。

image_thumb[5]

 

接口

      下面定义接口。为了使数据库访问变得方便,且具有更高的灵活性。访问接口应该具有基本的增、删、改、查功能,但是只提供这些功能是不够灵活的,所以要提供SQL语句执行的功能。

image_thumb4

      DAOBase接口是整个DataProcess系统的基础,DAOBase接口可以在不同层上进行扩展,为不同的层定义更多功能。

      项目中使用Map代表一条数据,其中Map的key表示字段名,value表示值。用List>表示一组数据。参数table表示表名的字符串,condition是表示删除或查询条件的字符串。

 

数据访问层

      数据访问层包含一个对DAOBase的抽象类DAODataAccess,和对各种不同数据库访问的实现

image_thumb[2]

 

 

数据缓存层

      数据库访问层用支持MemCached协议的MemCached和Tokyo Tyrant两种服务器。首先定义一个客户端接口,实现访问不同的客户端

image_thumb[8]

      实际应用中,需要有一个控制策略,来控制什么时候向缓存服务器存入数据,什么时候取出数据。不同的应用应该有不同的控制策略,但是这些控制策略具有一些共同的东西,比如都具有对管理器的引用,对数据访问层的引用,以及所有控制策略都是基于在进行调用DAOBase中功能进行的操作等。所以就可以定义一个抽象的控制器类,不同的控制策略共同实现这个抽象类

image_thumb[11]

 

VO处理层

这一层处理过程是接受用户传入的一个VO类的类名,通过反射机制判断类中的方法,获得数据库表中的字段信息。再通过调用DataBase定义的方法,完成对VO对象的增、删、改、查操作。

由于处理过程跟我以前写的一篇文章类似,这里不做过多叙述。

(generalDAO:http://blog.csdn.net/lingdushanke/archive/2010/09/20/5895769.aspx

 

目前基本的功能已经完成,sy_DataProcess.jar包含数据访问层和缓存层,sy_DataProcessVO.jar包含VO处理层

项目地址:http://code.google.com/p/sy-data-process/

API参考文档:

http://sy-data-process.googlecode.com/svn/trunk/DataProcess/doc/index.html(syDataProcess.jar)

http://sy-data-process.googlecode.com/svn/trunk/DataProcessVO/doc/index.html(syDataProcessVO.jar)

获得源码或技术讨论请E-mail:lingdushanke@163.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值