前段时间了解了下ORM(对象关系映射),然后就找了下C++的ORM框架,发现真的是很少,主要就下面几种
| 名称 | 开源 | License | 需要特定的框架支持 | 支持Qt | 支持Boost | 支持MySQL | 支持PostgreSQL | 支持SQLite | 支持XML | 支持Oracle | 支持MSSQL Server | 支持ODBC | 支持IBM DB2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LiteSQL | Yes | BSD | no | Yes | Yes | Yes | Yes | ||||||
| ODB | Yes | GPL/other | no | Yes | Yes | Yes | Yes | Yes | Yes | ||||
| QxOrm | Yes | LGPL | yes, Qt | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| Wt::Dbo | Yes | GPL / commercial | yes, Wt | No | Yes | Yes | Yes | Yes | No | No | No | No | No |
LiteSQL用xml定义表单,而且感觉它好像是把所有库的支持都写到一个动态链接库里面去了,所以比较庞大,QxQrm、Wt::Dbo又依赖于特定的框架。所以综合考虑,感觉ODB最适合用来开发了。官网传送门
ODB支持特性
- 自动生成数据库支持的代码(跨数据库)
- 能够处理任何的标准C++代码(无开发平台限制)
- 根据类的定义,编译生成数据库表单(可在Visual Studio中配置编译命令)
- 表单是以独立的SQL文件,或者嵌入C++的SQL代码的形式存在的
- 支持面向对象的持久化模型和数据库API(提供简单易用的数据库操作方法)
- 支持基于表达式或者类型安全的对象查询语言
- ODB使用了版本控制
- 支持执行本地SQL语言
- 支持SQL跟踪(输出窗口可实时输出当前执行的SQL语句)
- 跨平台,提供连接池保证线程安全
关于映射
- 默认映射所有基本的C++类型和std::string
- 自动映射C++的枚举对象到数据库的ENUM类型或者整型
- 支持映射BLOB类型到std::vector<char>
- 支持合成值类型(自动解析成多字段)
- 支持NULL语义映射到智能指针,诸如odb::nullable or boost::optional.
- 支持分配表名到持久类
- 支持分配字段名到数据成员
- 支持映射C++类型到数据库类型
- 支持自动赋值的对象id
- 支持没有id的持久化类
- 支持只读/常量数据成员
- 支持使用自定义的智能指针作为object/view/value的指针
- 支持cache技术(使用session)
具体使用可以见官方的odb手册,在这里
介绍基本使用方法的小例子下次再写,先把本周两门考试应付了再说


又来分享新知识了哦。
我过几天也得考试了。最后一次期末了,估计也挂科都难了,老师都懒得抓补考了
这学期的四门课
两门开卷,一门论文,最后一门半个月之后才考
今天开始,你们家的华为网盘转转盘抽奖哦,我抽到1折VIP优惠券!!
管多久啊?1月还是1年?
自个看http://www.dbank.com/netdisk/christmas.html
抽到个5折的,明天再试试
呀,乃現在更新頻率都跟小生差不多了
应该是你的频率与我的差不多了
是你逐渐慢下来了,我一直都很慢的
雖然慢下來了,不過還是很穩定的說(^_^)
牛人啊 编程人员 我感觉高深莫测
看不懂啊看不懂。。。
c瓜又来分享新工具罗,看起来是个数据库链接库的拓展
o>_<o~为考试求人品中……
ODB是一种让程序员可以像操作对象一样操作关系型数据库
现在工作以前学的都不用了。都忘记了 也没空学新的
什么能赚钱就学什么呗
现在数据库安全成了大问题了,odb用的不是太多,以后你会发现的
只是sqlite不能加密吧
您好:
最近在做一个东西,想将数据层分离,因此了解到了这个odb的C++的ORM框架,下载最新版本之后却不知道如何使用,还请瓜哥指教。在此先谢过了。可以将具体的使用方法发送到我的邮箱,非常感谢你。
小应用可以,大应用还是算了吧,呵呵
可以见我最新的一篇,在这里http://www.cguage.com/2012/01/cpp-odb-orm2.html (文后有例子下载)
ODB官方手册下载:http://www.codesynthesis.com/products/odb/doc/odb-manual.pdf
您好:
我的邮箱是84977043@qq.com
c瓜哥,新年快乐!!
元旦快乐!
你的网站抽风一个小时了(一个小时都打不开)
我 Oray洋葱头 来检测网站的,查了一下检测记录,在1号抽风了。。。不知道啥原因。。。
并且它不可以显示具体抽风时间,悲剧。你用什么检测网站?
因为我花了一个小时都打不开啊
连接错误了吧,刷新一下估计就OK了。
你用什么工具检测网站的可用性?
其实我很少管这些,因为IDC比较负责的,没有连续抽一天的现象
恩,连续抽一天这种情况很少见。不过有个总比没有好。
看不懂C++
完全不懂