数据库通用访问接口设计与实现(C++)
由于项目的需要,我们需要连接许多类型的数据库。同时我们希望对数据库的操作能够提供一个统一的访问接口。现在网上有不少开源的,但是对于用惯了VC ADO的人来说,这些接口设计的感觉真是有点反人类。比较好用的有一个人SQLAPI++,但是是要收费的,破解版的也没有源代码,那种代码无法掌握在自己手里的感觉,总是感觉不爽。于是便自己开始写一个。
根据初步的设计,有了以下的一个模型:
这个只是一个初步的模型。具体的实现中,主要有两个类,一个是CDbConnect和CDbRecordSet。这两个类主要是提供了访问接口。同时还有一个CDbFactory为了构建CDbConnect对象,这个类中主要是一系列的静态函数。
目前该功能已经完全实现,暂时支持的数据库有MS SQL/Oracle/Postgresql/sqlite,其他的需要支持在以后来添加,个人觉得拓展性还是很强的。
主要的三个对外接口的类设计如下:
第一次用这个,发现贴图很蛋疼,接下来我会接着更新,代码也会给出来,希望大家一起交流,写一个好的DbConnect。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步