博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++的ORM工具比较
阅读量:4307 次
发布时间:2019-06-06

本文共 847 字,大约阅读时间需要 2 分钟。

 

    用过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具体安装使用实例。

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

你可能感兴趣的文章
weblogic安全漫谈
查看>>
DEDECMS全版本gotopage变量XSS ROOTKIT 0DAY
查看>>
出路在哪里?出路在于思路!智者无敌
查看>>
Linux基础系列:常用命令(5)_samba服务与nginx服务
查看>>
Web前端开发CSS基础(2)
查看>>
【BootStrap】 概述 & CSS
查看>>
如何把两个查询语句合成一条 语句
查看>>
Linux下jetty报java.lang.OutOfMemoryError: PermGen space及Jetty内存配置调优解决方案
查看>>
【编程练习】正整数分解为几个连续自然数之和
查看>>
Ajax 模糊查询的简单实现
查看>>
Spring的IOC原理[通俗解释一下]
查看>>
用jquery阻止事件起泡
查看>>
javascript编程风格(粗略笔记)
查看>>
并发编程实战(一)
查看>>
SharePoint 自定义WebPart之间的连接
查看>>
实现 laravel 的artisan
查看>>
python bool值要注意的一些地方
查看>>
ZOJ 2165 Red and Black
查看>>
在配置静态IP的时候遇到 :bringing up interface eth0 : error unknown connection
查看>>
Android版CCLabelTTF在setstring时出现黑块
查看>>