NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
载入中...
搜索中...
未找到
ORM

从反射元数据自动生成SQL并完成实体映射 更多...

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 字面量字符串

详细描述

从反射元数据自动生成SQL并完成实体映射

函数说明

◆ cpp_type_to_sql_type()

string neforce::cpp_type_to_sql_type ( const reflect::type_id tid)
inline

将 C++ 类型 ID 映射为 SQL 类型名称

参数
tid反射类型ID
返回
SQL 类型名称字符串

在文件 sql_mapper.hpp43 行定义.

引用了 cpp_type_to_sql_type() , 以及 neforce::reflect::type_id_for().

被这些函数引用 cpp_type_to_sql_type() , 以及 neforce::sql_mapper< T >::create_table_sql().

◆ meta_any_to_sql_literal()

string neforce::meta_any_to_sql_literal ( const reflect::meta_any & val)
inline

将 meta_any 值转换为 SQL 字面量字符串

参数
val元数据值
返回
SQL 字面量表示

在文件 sql_mapper.hpp126 行定义.

引用了 meta_any_to_sql_literal() , 以及 neforce::reflect::type_id_for().

被这些函数引用 neforce::repository< T, Connect >::find_by_id(), neforce::sql_mapper< T >::get_values() , 以及 meta_any_to_sql_literal().

◆ read_column_by_type()

reflect::meta_any neforce::read_column_by_type ( const idb_tb_result & row,
const size_t col,
const reflect::type_id tid )
inline

从结果行中按类型ID读取值到 meta_any

参数
row结果行
col列索引
tid目标类型ID
返回
读取到的值

在文件 sql_mapper.hpp100 行定义.

引用了 neforce::idb_tb_result::get(), neforce::idb_tb_result::get_bool(), neforce::idb_tb_result::get_float32(), neforce::idb_tb_result::get_float64(), neforce::idb_tb_result::get_int32(), neforce::idb_tb_result::get_int64(), read_column_by_type() , 以及 neforce::reflect::type_id_for().

被这些函数引用 read_column_by_type().