深圳建设工程交易服务中心网站,莱芜口镇规划,交互式网页设计,互联网企业营销策略默认情况下QxOrm的主键是long类型自增的#xff0c;但是有时候我们不想使用这个主键#xff0c;想使用比如string类型的主键。
可以使用QX_REGISTER_PRIMARY_KEY宏定义另一种类型#xff08;例如#xff0c;QString 类型#xff09;的唯一 id#xff08;主键#xff09…
默认情况下QxOrm的主键是long类型自增的但是有时候我们不想使用这个主键想使用比如string类型的主键。
可以使用QX_REGISTER_PRIMARY_KEY宏定义另一种类型例如QString 类型的唯一 id主键。 此宏专用于 qxtraitget_primary_key 模板用于将主键类型关联到 C 类。
例如要为 myClass C 类定义 QString 主键映射到具有 VARCHAR 类型的列主键的数据库表必须编写 QX_REGISTER_PRIMARY_KEYmyClass QString
警告QX_REGISTER_PRIMARY_KEY宏必须在类定义中的QX_REGISTER_HPP宏之前使用否则会发生编译错误。
示例
#ifndef OemConfigModel_H
#define OemConfigModel_H#include QString
#include QxOrm.hclass 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.hQX_REGISTER_CPP_EXPORT_DLL(OemConfigModel)namespace qx
{
template void register_class(QxClassOemConfigModel 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);
}
}