读书人

C++ 对象关系投射(ORM)介绍

发布时间: 2012-12-21 12:03:49 作者: rapoo

C++ 对象关系映射(ORM)介绍

用过Java的都知道SSH框架,特别对于数据库开发,Java领域有无数的ORM框架,供数据持久层调用,如Hibernate,iBatis(现在改名叫MyBatis),TopLink,JDO,JPA……非常方便实用。

用过C#的同学们也都知道通过CodeSmith软件,生成微软的PetShop分层模式,达到数据持久层的代码,也非常方便。


那么我们用C++的怎么办,我们也是面向对象编程,在工作中也有数据库需要管理。我们需要完全手工去写那些重复性的代码吗?

特别我现在采用的是Qt这种非常标准的C++语言。

很希望能快速的开发软件,把重心放在软件的架构、控制系统、通信系统、文件传输系统、以及图像处理上。不想在数据库上有过多的累赘。那么我们也需要一个轻量级的ORM。


?

一、前期搜索

?

就我目前的了解,我知道,现在有多款免费的软件,可以实现自动生成C++数据持久层的代码!

?

1、QxOrm :QxOrm 是一个 C++ 库用来提供 ORM 功能,基于 Qt 的 QtSql 库。

?

授权协议: LGPL

开发语言: C/C++

操作系统: 跨平台?

?

QxOrm 是一个 C++ 库用来提供 ORM 功能,基于 Qt 的 QtSql 库。 主要特性: persistence? : communication with a lot of databases (with 1-1, 1-n, n-1 and n-n relationships) serialization : binary and xm...

YesBSDnoYesYesYesYesODBYesGPL/othernoYesYesYesYesYesYesQxOrmYesLGPLyes, QtYesYesYesYesYesYesYesYesYesWt::DboYesGPL / commercialyes, WtNoYesYesYesYesNoNoNoNoNo

LiteSQL用xml定义表单,而且感觉它好像是把所有库的支持都写到一个动态链接库里面去了,所以比较庞大,QxQrm、Wt::Dbo又依赖于特定的框架。所以综合考虑,感觉ODB最适合用来开发了。

?

?

参考文章:

1、介绍一个C++的ORM工具ODB(一)

2、介绍一个C++的ORM工具ODB(二)

3、C++的ORM框架 QxOrm

? ? ?QXORM 使用记录

? ? ??QXORM 使用记录(二)

? ? ? ?QXORM 使用记录(三)

4、其他文章就不一一列举了。

?

读书人网 >C++

热点推荐