【 在 here080 的大作中提到: 】
: 你这比proto麻烦太多了呀
:
是吧。
但是,这是在许多年前的技术,那时没有protobuf。
当已经有了这个工具包,用起来还是很省事的,比protobuf省事。要开发一个这样的系统当然费事。
一个交易系统的服务器,在数据库和应用客户端间传送数据是典型需求。
我这个系统,把ORM(Object Relational Mapping)和序列化/反序列化统一解决了。
其实,ORM就是广义的序列化/反序列化,序列化成SQL而已。
1.protobuf没有对SQL序列化。
2.protobuf没有利用数据库字典创建对象的功能。
//Sdbc = Secury DataBase Connection,是我的轮子包的名字。
//DAO = Data Access Object
SdbcDAO my_SQL = new SdbcDAO(SQL_Connect,tabname);//创建一个SQL映射器。按照表名建立对象内部的struct和template。
int ret=my_SQL->select(SQL_statment);//序列化到SQL语句,只需要写where及后边的部分。
if(ret>0) while(!my_SQL->NextRow()) { //从SQL反序列化1行,到struct
JSON_OBJECT json=json_object_new_object();
my_SQL->toJSON(json,NULL); //序列化到JSON,内部是struct_to_JSON();
// send the json to net or file
json_object_put(json); //析构JSON
}
~my_SQL();
简单不?
--
修改:ylh1969 FROM 221.221.53.*
FROM 221.221.53.*