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, WtNoYesYesYesYesNoNoNoNoNoLiteSQL用xml定义表单,而且感觉它好像是把所有库的支持都写到一个动态链接库里面去了,所以比较庞大,QxQrm、Wt::Dbo又依赖于特定的框架。所以综合考虑,感觉ODB最适合用来开发了。
?
?
参考文章:
1、介绍一个C++的ORM工具ODB(一)
2、介绍一个C++的ORM工具ODB(二)
3、C++的ORM框架 QxOrm
? ? ?QXORM 使用记录
? ? ??QXORM 使用记录(二)
? ? ? ?QXORM 使用记录(三)
4、其他文章就不一一列举了。
?