QxOrm 如何自定义主键?

在这里插入图片描述

默认情况下QxOrm的主键是long类型自增的,但是有时候我们不想使用这个主键,想使用比如string类型的主键。

可以使用QX_REGISTER_PRIMARY_KEY宏定义另一种类型(例如,QString 类型)的唯一 id(主键)。
此宏专用于 qx::trait::get_primary_key 模板,用于将主键类型关联到 C++ 类。

例如,要为 myClass C++ 类定义 QString 主键(映射到具有 VARCHAR 类型的列主键的数据库表),必须编写: QX_REGISTER_PRIMARY_KEY(myClass, QString)

警告:QX_REGISTER_PRIMARY_KEY宏必须在类定义中的QX_REGISTER_HPP宏之前使用,否则会发生编译错误。

示例:

#ifndef OemConfigModel_H
#define OemConfigModel_H

#include <QString>
#include <QxOrm.h>

class  OemConfigModel
{
public:
    OemConfigModel() : id(0) { }
    virtual ~OemConfigModel() { }

    QString name;
    long id;
    int age;
};
QX_REGISTER_PRIMARY_KEY(OemConfigModel, QString)
QX_REGISTER_HPP_EXPORT_DLL(OemConfigModel, qx::trait::no_base_class_defined, 0)

#endif // OemConfigModel_H

#include "oemconfig.h"

QX_REGISTER_CPP_EXPORT_DLL(OemConfigModel)

namespace qx
{
template <> void register_class(QxClass<OemConfigModel>& t)
{
    t.setName("t_OemConfigModel");

    // 注册 User::name <=> 数据库中的主键
    t.id(&OemConfigModel::name, "name");

    // 注册 User::id 属性
    t.data(&OemConfigModel::id, "id");

    // 注册 User::age 属性,使用的 key 是 age。
    t.data(&OemConfigModel::age, "age");
}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/225300.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第 7 部分 — 增强 LLM 安全性的策略:数学和伦理框架

一、说明 增强大型语言模型 (LLM) 安全性的追求是技术创新、道德考虑和实际应用的复杂相互作用。这项努力需要一种深入而富有洞察力的方法&#xff0c;将先进的数学模型与道德原则和谐地融合在一起&#xff0c;以确保LLM的发展不仅在技术上稳健&#xff0c;而且在道德上合理且对…

实现简易的一对一用户聊天

服务端 package 一对一用户;import java.awt.BorderLayout; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.Vector…

Linux 存储管理

内容概述 磁盘结构分区类型管理分区管理文件系统挂载设备管理swap空间&#xff08;用来缓解内存空间不足情况&#xff09;RAID 管理LVM管理LVM快照 1 磁盘结构 1.1 设备文件 块设备文件&#xff1a;数据的访问单位是块Block&#xff0c;一个块的IO 字符设备文件&#xff1a…

文章解读与仿真程序复现思路——中国电机工程学报EI\CSCD\北大核心《计及需求响应与火–储深度调峰定价策略的电力系统双层优化调度》

这个标题似乎涉及到电力系统的双层优化调度问题&#xff0c;并考虑了两个关键方面&#xff1a;需求响应和火–储深度调峰定价策略。 电力系统双层优化调度&#xff1a;这指的是在电力系统中进行优化调度的过程。双层优化可能意味着系统具有两个层次的决策过程&#xff0c;通常是…

python实战—核心基础1(高考倒计时)lv1

目录 一、核心代码解释 二、代码 三、运行截图 一、核心代码解释 1、datetime模块 Python有一个名为datetime的模块&#xff0c;用于处理日期和时间。 datetime模块中定义的一个类是datetime类。 可以使用now()方法创建一个包含当前本地日期和时间的datetime对象。 impo…

外汇天眼:市场95%的输家都犯了这个错误,你也中招了吗?

下单的是人&#xff0c;由于人的不完美与无经验&#xff0c;因之会产生很多障碍&#xff0c;没有累积足够之经验&#xff0c;获得周全之要领前&#xff0c;通常会犯了主要是人就会不自觉犯下主观与判断上的差错&#xff0c;这也就是&#xff0c;95%为输家的原因。 由于投资人在…

安装和初始化 VyOS 虚拟机

目录 安装和初始化 VyOS虚拟机1. 安装VyOS系统&#xff08;1&#xff09;进入系统安装界面 2. 登录VyOS系统&#xff08;1&#xff09;安装 Image 镜像&#xff08;2&#xff09;进入初始话设置文字描述重启系统 3. 配置路由3.1 设置静态IP地址3.2 SSH端口设置3.3 删除网卡IP地…

uniapp实战 —— 自定义顶部导航栏

效果预览 下图中的红框区域 范例代码 src\pages.json 配置隐藏默认顶部导航栏 "navigationStyle": "custom", // 隐藏默认顶部导航src\pages\index\components\CustomNavbar.vue 封装自定义顶部导航栏的组件&#xff08;要点在于&#xff1a;获取屏幕边界…

springboot 自定义响应

自定义响应类是指在开发中&#xff0c;根据业务需求自定义的用于封装接口响应数据的类。通常情况下&#xff0c;一个自定义响应类包含了接口返回的相关信息&#xff0c;如状态码、消息、数据等。 自定义响应类的设计灵活多样&#xff0c;可以根据具体的业务需求进行定义。一般…

Word文件设置了只读模式,为什么还能编辑?

Word文档设置了只读模式&#xff0c;为什么还可以编辑呢&#xff1f;&#xff0c;不过当我们进行保存的时候会发现&#xff0c;word提示需要重命名并选择新路径才能够保存&#xff0c;是因为什么呢&#xff1f;今天我们学习一下如何解决问题。 这种操作&#xff0c;即使可以编辑…

【用unity实现100个游戏之18】从零开始制作一个类CSGO/CS2、CF第一人称FPS射击游戏——基础篇3(附项目源码)

文章目录 本节最终效果前言素材人物移动音效枪口火焰和开火音效枪口灯光弹孔和火花添加武器随镜头手臂摇摆效果源码完结 本节最终效果 前言 本节主要实现添加音效&#xff0c;和一些特效、武器摆动调整。 素材 素材&#xff0c;为了方便我直接用了unity免费的音效输出&#…

zabbix的自动发现和注册、proxy代理和SNMP监控

目录 一、zabbix自动发现与自动注册机制&#xff1a; 1、概念 2、zabbix 自动发现与自动注册的部署 二、zabbix的proxy代理功能&#xff1a; 1、工作流程 2、安装部署 三、zabbix-snmp 监控 1、概念 2、安装部署 四、总结&#xff1a; 一、zabbix自动发现与自动注册…

matlab 点云放缩变换

目录 一、算法原理二、代码实现三、结果展示四、相关链接本文由CSDN点云侠原创,原文链接。爬虫网站自重。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法原理 缩放可以独立应用于三个坐标轴,如将点 ( x , y , z ) ( x

k8s官方镜像代理加速

背景 大家可能在云原生领域需要部署周边的一些生态组件时&#xff0c;在国内遇到无法正常拉取镜像&#xff0c;显得就有点苦恼&#xff0c;不过没关系&#xff0c;常见的${{ registry_name }} 例如 “gcr.io”&#xff0c;“registry.k8s.io” Failed to pull image “registry…

2023下半年软件设计师 关于我用了半个月过了软件设计师这件事

前言 废话不多说、看图喽。刚可以查询、我就赶紧去查成绩 上午成绩是57分、下午成绩是45分。下午成绩刚好踩着及格线 有关备考 我是在工作之余外进行的备考、备考前前后后花了半个月。但是备考的很仓促、每天下班都要搞到十一二点。早上赶班车也在刷题&#xff0c;吃饭的时候也…

从cot到agent的survey视频笔记

参考视频&#xff1a; 从CoT到Agent的列车即将发车&#xff0c;请各位旅客尽快上车 姚杳 由于总结不易&#xff0c;所以暂时都是粉丝可见&#xff0c;如果总结的不好见谅。 核心理解点总结&#xff1a; paradigm shifts of cot when cot&#xff1f;推理多的任务时 how cot…

html+css+js 三亚旅游网页设计与制作实例(6个页面)

一、作品介绍 HTMLCSSJS网页设计与制作&#xff0c;三亚旅游网页设计与制作实例&#xff0c; 本实例适合于初学HTMLCSSJS的同学。该案例里面有divcss的样式布局设置&#xff0c;这个实例比较全面&#xff0c;有一级页、二级页、详情页、输入表单等&#xff0c;共6个页面。本文…

智能优化算法应用:基于鹰栖息算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于鹰栖息算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于鹰栖息算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.鹰栖息算法4.实验参数设定5.算法结果6.参考文献7.…

一步解决 java.io.FileNotFoundException: 找不到文件异常

1.问题描述 java.io.FileNotFoundException: C:\Users\Administrator\AppData\Local\Temp\localhost\uploads\image\20231206\2843cb16-9654-4e52-a757-76e3ca1f80ff.png (系统找不到指定的路径。) 2.原因分析 文件路径中的文件目录不存在 3.解决方案 方案一&#xff1a;如果…

Elaticsearch 学习笔记

文章目录 Elaticsearch 学习笔记一、什么是 Elaticsearch &#xff1f;二、Elaticsearch 安装1 es 安装2 问题解决3 数据格式 三、索引操作1 PUT 请求&#xff1a;在postman中&#xff0c;向 ES 服务器发 PUT 请求&#xff08;PUT请求相当于创建的意思&#xff09;2 GET 请求&a…