ORM 就是在数据库和对象之间作了一个映射:
-
数据库的表(table) –> 类(class)
-
记录(record,行数据)–> 对象(object)
-
字段(field)–> 对象的属性(attribute)
ORM 将迫使你使用 MVC 风格
其实Qt中的MVC并不叫MVC,而是叫“MVD”,Qt中没有Controller的说法,而是使用了另外一种抽象: Delegate (委托) ,其行为和传统的MVC是相同的。
M:model 模型
V: view 视图
D:Delegate 委托
下面直接记录实例
创建一个类,与表格相映射 .h .cpp
#include <QxOrm.h>
/*
* 通常在使用QxOrm进行对象关系映射时,需要让自定义的业务类继承自qx::IxPersistable接口或者派生自qx::Persistent基类(在不同版本的QxOrm中可能是不同的要求)。
* 这是因为这些基类或接口提供了与数据库交互的基础能力,比如标识类为可持久化的类型,以及实现序列化、反序列化、数据库操作等功能所需的方法。
*/
class TbPatientEvaluInfo : public qx::IxPersistable
{
/*
* 这个宏的作用是在QxOrm框架内部声明TbPatientEvaluInfo类为友元类。
* 由于QxOrm需要访问类的私有和受保护成员以实现持久化,通过声明为友元类,
* QxOrm库可以访问类的所有成员并进行序列化、反序列化等操作,这是实现ORM所必需的权限。
*/
QX_REGISTER_FRIEND_CLASS(TbPatientEvaluInfo)
/*
* 这个宏通常用于hpp文件中,用于标记TbPatientEvaluInfo类为可持久化的类。
* QxOrm库会根据这个宏去解析类的成员变量,并在运行时为其提供自动的持久化支