数据库通用访问接口设计与实现(C++)

 

由于项目的需要,我们需要连接许多类型的数据库。同时我们希望对数据库的操作能够提供一个统一的访问接口。现在网上有不少开源的,但是对于用惯了VC ADO的人来说,这些接口设计的感觉真是有点反人类。比较好用的有一个人SQLAPI++,但是是要收费的,破解版的也没有源代码,那种代码无法掌握在自己手里的感觉,总是感觉不爽。于是便自己开始写一个。

根据初步的设计,有了以下的一个模型:

这个只是一个初步的模型。具体的实现中,主要有两个类,一个是CDbConnect和CDbRecordSet。这两个类主要是提供了访问接口。同时还有一个CDbFactory为了构建CDbConnect对象,这个类中主要是一系列的静态函数。

目前该功能已经完全实现,暂时支持的数据库有MS SQL/Oracle/Postgresql/sqlite,其他的需要支持在以后来添加,个人觉得拓展性还是很强的。

主要的三个对外接口的类设计如下:

TM20130126153546_thumb5

 

TM20130126153628_thumb7

 

TM20130126153656_thumb4

 

第一次用这个,发现贴图很蛋疼,接下来我会接着更新,代码也会给出来,希望大家一起交流,写一个好的DbConnect。

posted @ 2013-01-26 16:30  山是水的故事  阅读(2605)  评论(2编辑  收藏  举报