QxORM 学习一

2019/01/15 开源库

对象关系映射(Object Relation Mapping,简称ORM),ORM简化了数据库查询过程,通过ORM持久层,用户不需要知道数据库的具体结构,就可以访问数据库.

记得以前操作数据库都是直接使用 SQL 语句,作为练手确实是可以,但是随着数据表的增多管理起来很是不便,故对 C++中的一些ORM做一些总结,以备后续使用到.

环境说明

  • OS: Windows 7 64b
  • PlatForm: Qt 5.11

配置编译

关于编译在另一篇文章中已经记录了传输门 →

现在可以从GitHub上下载最新的版本,QxOrm-1.4.6,这个版本早就不依赖于Boost了,直接编译就能一次通过!

使用

配置

将编译好的库的位置以及头文件配置到工程中.

关于主键类型

QxOMR 默认主键类型是 long,如果自己定义的表中不是这个类型,那么就要进行注册了,比如我定义成 int类型,编译报如下错误:

 In function 'void qx::register_class(T&) [with T = qx::QxClass<QDBRoleVo>]':
..\..\..\xxx\QDBRoleVo.cpp:16:43: error: invalid conversion from 'int QDBRoleVo::*' to 'qx::QxClass<QDBRoleVo>::type_primary_key QDBRoleVo::* {aka long int QDBRoleVo::*}' [-fpermissive]
     t.id (& QDBRoleVo::m_nRoleID, "RoleID");

所以解决办法就有2个:

  1. 修改主键类型为 long;
  2. 注册我的主键类型为 int; QX_REGISTER_PRIMARY_KEY (QDBRoleVo, int)

相比而言,还是乖乖把主键类型声明成long比较好一点.

参考文章


作者:鹅卵石
时间:  2019年3月15日22:54:35
版本:V 0.0.1
邮箱:kevinlq@163.com
版权:本博客若无特别声明,均属于作者原创文章,欢迎大家转载分享。但是,
希望您注明来源,并留下原文地址,这是对作者最大的尊重,也是对知识的尊重。

如果您对本文有任何问题,可以在下方留言,或者Email我.

捐赠

如果觉得分享的内容不错,可以请作者喝杯咖啡.


Show Disqus Comments

Search

    欢迎关注我的微信号

    一个不羁的码农

    不羁的程序员

    转载请注明出处!

    Table of Contents