重庆网站建设技术支持网络营销项目策划方案
下载Qxorm-1.5版本
使用vs打开项目,直接生成即可:
lib目录中会生成dll和lib文件
新建Qt项目使用Qxorm:
将QxOrm中上面三个目录拷贝到新建的Qt项目中
pro文件添加使用QxOrm第三方库
INCLUDEPATH += $$PWD/include/
LIBS += -L"$$PWD/lib"
LIBS += -l"QxOrmd"
JsonModel.h
#pragma once
#include <QString>
#include <QxOrm.h>
class JsonModel
{
public:JsonModel() : id(0) { }~JsonModel() { }long id;QString name;int age;
};
QX_REGISTER_HPP_EXPORT_DLL(JsonModel, qx::trait::no_base_class_defined, 0)class JsonModel2
{
public:JsonModel2() : id(0) { }~JsonModel2() { }long id;QString name;int age;JsonModel model;
};
QX_REGISTER_HPP_EXPORT_DLL(JsonModel2, qx::trait::no_base_class_defined, 0)
JsonModel.cpp
#include "JsonModel.h"
QX_REGISTER_CPP_EXPORT_DLL(JsonModel)
namespace qx
{template <> void register_class(QxClass<JsonModel>& t){t.setName("JsonModel");// 注册 JsonModel::id <=> 数据库中的主键t.id(&JsonModel::id, "id");// 注册 JsonModel::name 属性,使用的 key 是 name,version 是 1。t.data(&JsonModel::name, "name");// 注册 JsonModel::age 属性,使用的 key 是 age。t.data(&JsonModel::age, "age");}
}QX_REGISTER_CPP_EXPORT_DLL(JsonModel2)
namespace qx
{template <> void register_class(QxClass<JsonModel2>& t){t.setName("JsonModel2");// 注册 JsonModel2::id <=> 数据库中的主键t.id(&JsonModel2::id, "id");// 注册 JsonModel2::name 属性,使用的 key 是 name,version 是 1。t.data(&JsonModel2::name, "name");// 注册 JsonModel2::age 属性,使用的 key 是 age。t.data(&JsonModel2::age, "age");t.data(&JsonModel2::model, "model");}
}
main.cpp
#include <QApplication>
#include "JsonModel.h"
int main(int argc, char *argv[]) {QApplication app(argc, argv);JsonModel json;json.id = 1;json.age = 100;json.name = "gt";JsonModel2 json2;json2.id = 2;json2.age = 200;json2.name = "gt2";json2.model = json;QString jsonStr = qx::serialization::json::to_string(json2);return app.exec();
}
注意运行时要把QxOrmd.dll和exe放在同一目录