用过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

C++的ORM工具比较相关推荐

  1. Spring - Java/J2EE Application Framework 应用框架 第 11 章 使用ORM工具进行数据访问

    第 11 章 使用ORM工具进行数据访问 11.1. 简介 Spring在资源管理,DAO实现支持以及实物策略等方面提供了与Hibernate, JDO和iBATIS SQL映射的集成. 对Hiber ...

  2. 基于Dapper二次封装了一个易用的ORM工具类:SqlDapperUtil

    基于Dapper二次封装了一个易用的ORM工具类:SqlDapperUtil,把日常能用到的各种CRUD都进行了简化封装,让普通程序员只需关注业务即可,因为非常简单,故直接贴源代码,大家若需使用可以直 ...

  3. Smart ORM v0.3发布(完全面向对象的轻量级ORM工具)

    1. Smart ORM .NET概述 Smart ORM .NET 是基于.NET 2.0的轻量级ORM工具.一般的ORM工具是通过建立数据表格,然后根据表格创建实体类型,而SmartORM则是通过 ...

  4. 怎么用debug看jdbc查询的resultset中查出的数据_用了这个 ORM 工具,我只用一天就把项目数据库给换了

    背景 项目开发过程中,需要更换数据库,原来调研用的 NoSQL 型数据库,现在要换成 RDB 数据库.DAO 层抽象了一个顶层的父类,所以打算以此类着手重写一整套操作,可以将换库工作量降低到最少. 那 ...

  5. 介绍一个C++的ORM工具ODB(一) | C瓜哥的博客

    介绍一个C++的ORM工具ODB(一) | C瓜哥的博客 介绍一个C++的ORM工具ODB(一) 前段时间了解了下ORM(对象关系映射),然后就找了下C++的ORM框架,发现真的是很少,主要就下面几种 ...

  6. Python数据库ORM工具sqlalchemy的学习笔记

    SQLAlchemy是python的一个数据库ORM工具,提供了强大的对象模型间的转换,可以满足绝大多数数据库操作的需求,并且支持多种数据库引擎(sqlite,mysql,postgres, mong ...

  7. Data Geekery发布了Java ORM工具jOOQ的3.9.0版,用于构建类型安全查询

    Data Geekery公司发布了其Java对象关系映射(ORM,Object-Relational Mapping)工具包jOOQ的3.9.0版.jOOQ首次推出于2010年8月,实现从数据库生成代 ...

  8. java orm 工具_GitHub - donnie4w/jdao: jdao是一个java的轻量级orm工具包

    jdao是轻量级orm工具包,生成与数据表对应的dao类,持久层dao对象操作,同时也支持原生sql语句操作,支持多数据源,对象缓存等. v1.1.6 jdao 初始化: DaoFactory.set ...

  9. .net2.0 orm_Hibernate 4.3 ORM工具

    .net2.0 orm Hibernate最近发布了Hibernate ORM 4.3的最终版本,它是一个基于Java的ORM框架,它还支持存储过程和实体图. 发行了ORM Tool Hibernat ...

最新文章

  1. 求1-100之间的所有素数
  2. python selenium api_Selenium2+python自动化-查看selenium API
  3. greenplum 存储过程_揭秘!Greenplum并行执行引擎到底是如何工作的?
  4. Python OOP:继承、单继承、多继承、__mro__、子类重写父类同名属性和方法、子类调用父类同名属性和方法、多层继承、super()、私有(实例)属性和方法、获取修改私有属性值、私有类属性
  5. 经纬度转换为平面坐标
  6. 北京信息科技北京化工计算机,【计算机考研】院校信息-北京化工大学
  7. ImageLoader的简单分析(二)
  8. 设计思想之高内聚低耦合
  9. 【快代理API】获取开放代理
  10. java 仓库管理_Java仓库管理系统(一)
  11. 百度离线地图服务器搭建
  12. 程序员需谨记的8条团队开发原则
  13. Ubuntu18.04 安装搭建 hadoop-3.3.0 集群
  14. Photo Album: 2008年5月-三亚爱琴海岸康年度假村-day4
  15. android手机电视助手是如何控制电视的呢?
  16. 466. 统计重复个数
  17. 基于Vue+Express+Mysql开发的手机端电影购票系统(附源码)
  18. 【程序猿的黑科技】一些有趣且有用的的工具整理
  19. Java Eclipse internal error Polling news feeds 解决方案
  20. 匡威react是什么意思_react+zoom的神仙配置?这双如此牛掰的匡威似乎不如李宁?...

热门文章

  1. .net中前台javascript与后台c#函数相互调用
  2. java 算法优化向导
  3. mongoose --- createUser
  4. 2 中间件的使用、异步action的创建
  5. Apache CarbonData 1.5.0编译及安装
  6. kaggle中zillow比赛中模型融合的方法及其代码
  7. 百年难得一见!阿里园区惊现双月争辉奇观!
  8. 2017年8个最流行的Web编程趋势
  9. 你可能不知道的跨域解决方案
  10. .Net开发环境配置[OS/IIS/VS...]