NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
载入中...
搜索中...
未找到
sql_mapper.hpp 文件参考

ORM 对象-关系映射器 更多...

sql_mapper.hpp 的引用(Include)关系图:

浏览该文件的源代码.

class  neforce::sql_mapper< T >
 ORM 对象-关系映射器 更多...

函数

string neforce::cpp_type_to_sql_type (const reflect::type_id tid)
 将 C++ 类型 ID 映射为 SQL 类型名称
reflect::meta_any neforce::read_column_by_type (const idb_tb_result &row, const size_t col, const reflect::type_id tid)
 从结果行中按类型ID读取值到 meta_any
string neforce::meta_any_to_sql_literal (const reflect::meta_any &val)
 将 meta_any 值转换为 SQL 字面量字符串

详细描述

ORM 对象-关系映射器

纯运行时消费反射元数据,自动生成 SQL 语句并完成实体与结果行之间的映射。 依赖 reflect_scanner 或手动注册的反射元数据。

使用示例:

struct User {
NEFORCE_REFLECT_PROP_ATTR(int, id, PROP_PRIMARY_KEY | PROP_AUTO_INC)
NEFORCE_REFLECT_PROP(string, name)
int id = 0;
string name;
};
// 运行时:
auto sql = sql_mapper<User>::create_table_sql();
auto user = sql_mapper<User>::from_row(result_row);
#define NEFORCE_REFLECT_OBJ(Class)
标记类需要反射注册
#define NEFORCE_REFLECT_PROP(type, name)
标记成员属性
#define NEFORCE_REFLECT_PROP_ATTR(type, name, attrs)
标记带注解的成员属性

在文件 sql_mapper.hpp 中定义.