C++的ORM工具比较

转自:https://www.cnblogs.com/lvdongjie/p/6163368.html

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

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

    那么我们用C++的怎么办,我们也是面向对象编程,在工作中也有数据库需要管理。我们需要完全手工去写那些重复性的代码吗?特别我现在采用的是Qt这种非常标准的C++语言。很希望能快速的开发软件,把重心放在软件的架构、控制系统、通信系统、文件传输系统、以及图像处理上。不想在数据库上有过多的累赘。那么我们也需要一个轻量级的ORM。

 

    目前C++中现存的ORM主流库主要为以下几个:

 

QxQrm、Wt::Dbo依赖于特定的框架,而LiteSQL和ODB不需要特定框架支持,所以主要考虑这两个工具。

 

Boost支持

LiteSQL:不支持

ODB:支持

需求分析:本系统可能会用到boost库

 

技术支持

LiteSQL:技术支持一般,跟进开发很慢

ODB:技术支持很好,更新快,用户较多

 

具体特点分析

LiteSQL:

1.所有支持的库都写到一个动态链接库

2.生成数据库嵌入到C++中

3.使用XML文件

ODB:

1.自动生成数据库支持的代码

2.根据类的定义,编译生成数据库表单

3.支持面向对象的持久化模型和数据库API(提供简单易用的数据库操作方法)

4.使用c++头文件

 

总结

Litesql是一个高耦合性的工具,自动化程度高,但是不利于系统调试,还有不支持boost库。

ODB 技术支持好,支持boost库,易于开发调试。

综上所述,ODB最适合用来开发。我们的Lynn系统将使用ODB作为与数据打交道的类库,下一篇即将更新ODB具体安装使用实例。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值