Files
XdlOrm/README.md
2026-04-03 11:32:07 +08:00

6.1 KiB
Raw Permalink Blame History

QxOrm 库 - 官方仓库

QxOrm 库 是一个为 C++ Qt 开发者提供的对象关系映射 (ORM)对象文档映射 (ODM) 数据库库。主要功能包括:

  • 持久化:支持最常见的数据库,如 SQLite、MySQL、PostgreSQL、Oracle、MS SQL Server、MongoDB(支持 1-1、1-n、n-1 和 n-n 关系);
  • 序列化JSON、二进制和 XML 格式;
  • 反射(或内省):动态访问类定义,检索属性并调用类方法;
  • HTTP Web 服务器:独立的多线程 HTTP 1.1 Web 服务器(支持 SSL/TLS、持久连接、Cookie、会话、分块响应、URL 调度/路由);
  • JSON API:与 C++/Qt 以外的其他技术REST Web 服务、QML 应用程序、脚本语言)的互操作性。

文档

QxOrm 网站提供了用户手册

本文档的目标是提供一个用户指南,学习如何使用 QxOrm 库的功能。本手册面向正在寻找解决方案来管理 C++/Qt 中持久数据层的开发人员和软件架构师。理解本文档需要 C++ 和数据库方面的技术技能。

注意: 本手册/用户指南中描述的所有功能都可以通过 QxEntityEditor 应用程序QxOrm 库的图形编辑器、数据模型设计器和源代码生成器快速轻松地定义。QxOrm 网站上提供了专门针对 QxEntityEditor 应用程序的文档

QxEntityEditor 应用程序

QxEntityEditor 是 QxOrm 库的图形编辑器:QxEntityEditor 提供了一种图形化方式来管理数据模型。 QxEntityEditor 是多平台的(适用于 Windows、Linux 和 Mac OS X并为所有环境生成原生代码桌面Windows、Linux、Mac OS X、嵌入式和移动设备Android、iOS、Windows Phone、Raspberry Pi 等)。 QxOrm 网站上提供了QxEntityEditor 应用程序的用户手册(文档)

QxEntityEditor 基于插件,提供了多种导入/导出数据模型的方法:

QxEntityEditor 应用程序

依赖项

默认情况下QxOrm 库仅依赖于 Qt 框架 中的 QtCoreQtSql 库。 如果启用 QxOrm HTTP Web 服务器 功能,那么 QxOrm 库还将依赖于 QtNetwork 库。 某些功能需要 boost 依赖项(默认禁用)。

作者

QxOrm 由 XDL 团队开发,该团队自 2003 年以来一直是软件开发工程师。

许可证

QxOrm 是一个 C++ 库,可在双重许可证下使用:

  • GNU/GPLv3 许可证:开源且免费(用于开发开源项目或评估 QxOrm 库);
  • 专有许可证,用于分发基于 QxOrm 库的应用程序,不受 GNU/GPLv3 许可证的任何限制。

Conan 打包方法

安装 Conan

首先,确保您已安装 Conan 包管理器。如果尚未安装,可以从 Conan 官方网站 下载并安装。

构建和安装包

  1. 克隆仓库并进入项目目录:

    git clone <仓库地址>
    cd XdlOrm
    
  2. 构建并安装包到本地 Conan 缓存:

    conan create . --profile:build default --profile:host default
    
  3. 或者,直接在项目目录中构建:

    conan build . --profile:build default --profile:host default
    

在项目中使用

在您的项目的 conanfile.py 中添加依赖:

requires = [
    "xdlorm/1.0.0"
]

或者,使用 conan install 命令安装:

conan install . --build=missing

配置选项

QxOrm 库提供了以下 Conan 选项:

  • shared是否构建为共享库默认False
  • enable_boost:是否启用 Boost 支持默认False
  • enable_boost_serialization:是否启用 Boost 序列化默认False
  • enable_qt_gui:是否启用 Qt GUI 支持默认False
  • enable_qt_network:是否启用 Qt Network 支持默认False
  • enable_mongodb:是否启用 MongoDB 支持默认False
  • no_json:是否禁用 JSON 序列化默认False
  • unity_build:是否启用 Unity 构建默认False

例如,构建共享库并启用 Boost 支持:

conan create . --profile:build default --profile:host default -o xdlorm:shared=True -o xdlorm:enable_boost=True