# mysql_orm_for_cplus **Repository Path**: giantserver/mysql_orm_for_cplus ## Basic Information - **Project Name**: mysql_orm_for_cplus - **Description**: mysql orm for c++ - **Primary Language**: C++ - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 2 - **Created**: 2017-03-24 - **Last Updated**: 2023-04-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mysql_orm_for_cplus ## 用法说明: * 1、在mysql中制作好表。表需要有主键,主键个数不限 * 2、修改 tools/mysql2cpp/cfg.json.sample 为 tool/mysql2cpp/cfg.json,并正确填写mysql信息 * 3、点击 tools/mysql2cpp/gen.bat * 4、打开 src/build/gvoe.sln 编译代码 * 5、以上 ## 支持的mysql类型 * TINYINT、SMALLINT、INT、BIGINT * FLOAT、DOUBLE * CHAR、VARCHAR * BINARY、VARBINAY * DATETIME、TIMESTAMP ## 用法实例(python版) import gvoe def test1(): dbobj1 = gvoe.mb_test_table1() dbobj1.set_primary_key(10, 100) dbobj1.f_float_set(5.5) dbobj1.save() def test2_on_load(result, rownum, args): (dbobj,) = args gvoe.warn("result:%d, rownum:%d" % (result, rownum)) gvoe.warn(dbobj.to_string()) dbobj.delete() def test2(): dbobj = gvoe.mb_test_table1(10, 100) dbobj.load(test2_on_load, (dbobj, )) def start(run_container, args, cfg): gvoe.enable_module(gvoe.E_MODULE_ID.e_module_id_mysql_orm) test1() test2() ## TODO - 剥离mysql_client相关模块、规范接口,方便其他异步mysql_client接入 - 支持lua - 增加 C++ 例子 - 制作 load_all 接口,实现获取多个orm对象。类似如下用法: def test3_on_load(result, obj_list, args): # mb_test_table object list print obj_list def test3(): dbobj = gvoe.mb_test_table1() # 可以设置部分key,内部会转化为SQL WHERE条件子句 dbobj.load_all(test3_on_load, (dbobj, ))