iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >如何使用C++的ORM框架QxORM
  • 463
分享到

如何使用C++的ORM框架QxORM

2023-07-02 12:07:22 463人浏览 薄情痞子
摘要

这篇文章主要讲解了“如何使用c++的ORM框架QxORM”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用C++的ORM框架QxORM”吧!QxORM中,我们用的最多的无非是这两点官方表

这篇文章主要讲解了“如何使用c++ORM框架QxORM”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用C++的ORM框架QxORM”吧!

QxORM中,我们用的最多的无非是这两点

官方表述是这样的:

持久性:支持最常见的数据库,如sqlite、MySQLpostgresqloracle、MS SQL ServerMongoDB(具有 1-1、1-n、n-1 和 n-n 关系);
序列化:JSON、二进制和 XML 格式;

简洁一点就是:

连接访问各类主流数据库

能够将数据导入导出

下面我们进入主题:

建立对象模型。相对于常规的结构体,只是多了一些宏定义与声明。

头文件:QxModels.h

#include "precompiled.h"struct User{    long id;    QString name;    int age;    QString hobbies;};QX_REGISTER_HPP_QX_DLL1(User, qx::trait::no_base_class_defined, 1)

源文件:QxModels.cpp

#include "precompiled.h"#include "qxmodels.h"#include <QxOrm_Impl.h>QX_REGISTER_CPP_QX_DLL1(User)namespace qx{    template <> void register_class(QxClass<User> & t)    {        // 设置表名        t.setName("User");        // 注册 User::id <=> 数据库中的主键        t.id(&User::id, "id");        // 注册 User::name 属性,使用的 key 是 name,version 是 1。        t.data(&User::name, "name", 1);        // 注册 User::age 属性,使用的 key 是 age。        t.data(&User::age, "age");        // 注册 User::hobbies 属性,使用的 key 是 hobbies。        t.data(&User::hobbies, "hobbies");    }}

连接数据库。

 QString in_db = QCoreApplication::applicationDirPath();    in_db.append("/database/plulocal.db");    QFile::remove(in_db);    qx::QxSqlDatabase::getSingleton()->setDriverName("QSQLITE");    qx::QxSqlDatabase::getSingleton()->setDatabaseName(in_db);    qx::QxSqlDatabase::getSingleton()->setHostName("localhost");    qx::QxSqlDatabase::getSingleton()->setUserName("root");    qx::QxSqlDatabase::getSingleton()->setPassword("");    qx::QxSqlDatabase::getSingleton()->setSqlPlaceHolderStyle(qx::QxSqlDatabase::ph_style_2_point_name);    qx::QxSqlDatabase::getSingleton()->setTraceSqlQuery(true);    qx::QxSqlDatabase::getSingleton()->setTraceSqlRecord(false);

使用ORM。建表,新增,简单查询,复杂查询等等

// 建表    QSqlError daoError1 = qx::dao::create_table<User>();    // 产生100条模拟数据    for(int in_idx=0; in_idx<100; ++in_idx)    {        auto in_user = new User();        in_user->name = "lzw"+QString::number(in_idx);        in_user->age = 20+in_idx;        in_user->hobbies = "play";        auto daoError1 = qx::dao::insert(in_user);    }    // 查询单条记录    User in_pointUser; in_pointUser.id = 3;    qDebug()<<in_pointUser.name;    QSqlError daoError11 = qx::dao::fetch_by_id(in_pointUser);    qDebug()<<in_pointUser.name;    // 查询一定年龄段的集合记录    //typedef std::shared_ptr<User> UserPtr;    //typedef qx::QxCollection<long, UserPtr> UserList;    UserList in_userList;    qx_query in_query("select * from user where age>=20 and age<=25");    daoError11 = qx::dao::execute_query(in_query, in_userList);    qAssert(! daoError11.isValid()); qAssert(in_userList.count() > 0);    qx::dump(in_userList);

有图有真相。执行前:

如何使用C++的ORM框架QxORM

执行后:(并不需要写一条sql语句,当然也支持写原生sql语句)

如何使用C++的ORM框架QxORM

补充:序列化的两个函数

// 导出binary流    qx::serialization::Qt::to_file(in_pointUser, "user.txt");    // 导出json文本    qx::serialization::json::to_file(in_userList, "list_of_user.json");

感谢各位的阅读,以上就是“如何使用C++的ORM框架QxORM”的内容了,经过本文的学习后,相信大家对如何使用C++的ORM框架QxORM这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 如何使用C++的ORM框架QxORM

本文链接: https://www.lsjlt.com/news/342023.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用C++的ORM框架QxORM
    这篇文章主要讲解了“如何使用C++的ORM框架QxORM”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用C++的ORM框架QxORM”吧!QxORM中,我们用的最多的无非是这两点官方表...
    99+
    2023-07-02
  • 使用C++的ORM框架QxORM详解
    QxORM中,我们用的最多的无非是这两点 官方表述是这样的: 持久性:支持最常见的数据库,如SQLite、MySQL、PostgreSQL、Oracle、MS SQL Server、...
    99+
    2024-04-02
  • 使用c# 怎么编写一个ORM框架
    今天就跟大家聊聊有关使用c# 怎么编写一个ORM框架,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. ORMORM全称 Object Relational Mapping,翻译过来...
    99+
    2023-06-14
  • c# 如何自己实现一个ORM框架
    目录0. 前言1. ORM2. 设计3. 实现4. 总结0. 前言 在之前的几篇内容中,我们了解了如何通过ADO.NET 访问数据库,如何修改、新增数据。如何通过DataSet和D...
    99+
    2024-04-02
  • c++中orm框架的作用是什么
    在C++中使用ORM(对象关系映射)框架的作用是简化数据库操作的过程,使程序员能够更轻松地将对象模型和数据库模型进行映射,从而减少重...
    99+
    2024-03-04
    c++
  • c++中orm框架的用法是什么
    在C++中,ORM(对象关系映射)框架的作用是用来简化数据库操作,将数据库表映射为对象,使得开发人员可以使用面向对象的方式来操作数据...
    99+
    2024-03-04
    c++
  • SpringBoot如何构建ORM框架
    本篇内容主要讲解“SpringBoot如何构建ORM框架”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringBoot如何构建ORM框架”吧!目前常用的ORM框架有 Mybatis(bati...
    99+
    2023-06-29
  • Python之ORM框架怎么使用
    本文小编为大家详细介绍“Python之ORM框架怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python之ORM框架怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、Python语言中有哪些常...
    99+
    2023-07-02
  • 如何使用Python元类特性实现ORM框架
    这篇文章主要介绍了如何使用Python元类特性实现ORM框架,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。ORM是什么O是 object,也就 类对象 的意思,R是 rela...
    99+
    2023-06-15
  • 如何理解Java ORM框架guzz
    本篇文章给大家分享的是有关如何理解Java ORM框架guzz,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。guzz 1.3.1 大版本更新噢: 动态拼接SQL终于...
    99+
    2023-06-17
  • .NET如何集成ORM框架HiSql
    这篇文章主要讲解了“.NET如何集成ORM框架HiSql”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“.NET如何集成ORM框架HiSql”吧!一、引言做.Net这么多年,出现了很多很多OR...
    99+
    2023-07-02
  • 持久层ORM框架Hibernate框架的使用及搭建方式
    目录前言一、Hibernate的优点?二、Hibernate的缺点三、搭建Hibernate项目架构四、Hibernate核心接口的介绍五、封装Hibernate的工具类六、常用的C...
    99+
    2024-04-02
  • C#中的WinForm框架如何使用
    这篇“C#中的WinForm框架如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#中的WinForm框架如何使用”文...
    99+
    2023-07-05
  • C#中WinForm框架如何使用
    在C#中使用WinForm框架可以通过以下步骤:1. 创建一个新的WinForm应用程序项目。2. 打开设计视图,在工具箱中选择所需...
    99+
    2023-08-09
    C# WinForm
  • rust orm框架的用法是什么
    Rust的ORM(对象关系映射)框架用于简化Rust语言与关系型数据库之间的交互。ORM框架可以帮助开发者避免手动编写SQL查询语句...
    99+
    2023-10-26
    Rust
  • Python ORM框架中的SQLAlchemy怎么用
    小编给大家分享一下Python ORM框架中的SQLAlchemy怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、SQLAlchemy 介绍1.1 ORM 的概念ORM全称Object Relationa...
    99+
    2023-06-29
  • MongoDB orm框架的注意事项及简单使用
    目录Ⅰ. 简介 Ⅱ. 注意事项 Ⅲ. 使用方法 Ⅳ. 教程 首先spring自带了mongodb的orm,spring data mongodb,但是这个框架非常难用,最令人抓狂的是...
    99+
    2024-04-02
  • 如何在C#中使用Dapper ORM
    目录使用 Visual Studio 安装 Dapper ORM使用 Dapper ORM 进行增删查改在 Dapper ORM 中使用 存储过程对象关系映射(ORM)这个概念已经存...
    99+
    2024-04-02
  • PHP使用ORM框架连接数据库的方法
    PHP使用ORM框架连接数据库的方法ORM(Object-Relational Mapping)框架是一种将对象模型和关系型数据库模型进行映射的技术。它可以让开发者使用对象的方式来操作数据库,从而避免了手写SQL语句的繁琐和容易出错的问题。...
    99+
    2023-05-15
    PHP 数据库连接 ORM框架
  • 如何使用C++网络服务框架
    这篇文章主要讲解了“如何使用C++网络服务框架”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用C++网络服务框架”吧!C++  是最重要的编程语言之一。它既可以进行、过程化程...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作