
手游服务端框架之自定义orm持久化工具
发布日期:2021-05-06 20:09:45
浏览次数:49
分类:原创文章
本文共 675 字,大约阅读时间需要 2 分钟。
前面一篇文章,介绍了当今游戏服务端对玩家数据进行持久化的两种方案。一种是将玩家数据通过json等格式统一打包成字符串或二进制流;另一种是根据模块功能拆分,一个模块一张用户表。
今天的主题就是介绍如何通过orm来简化上面所说的第二种持久化方式。
ORM(关系对象映射),简单来说,就是将oop世界里的对象与关系型数据库里的表记录进行映射。如果玩家数据的持久化是根据功能模块来拆分的话,那么随着游戏功能的增多,用户表的数量也会越来越多。如果对于每一张表,都需要编写对应的CRUD sql语句,那开发效率是非常低下的。但使用了orm框架,对于每一个需要进行持久化的玩家数据对象,都不再需要手动编写sql语句,这无疑是非常爽的。
至于为什么不使用Mybatics或者Hibernate这种成熟强大的ORM框架,而是选择自己造轮子设计。这里有个原因,一般游戏业务都是对单表进行增删查改(甚至不用删除),也很少需要对多张表进行联合查询。所以自己手写一套简易的orm工具即可,还可以灵活整合缓存系统。
下面逐步介绍使用的主要类文件。
1. Cacheable抽象类主要是对需要持久化的对象的一种抽象,是对象各种db状态的转换。
public abstract class Cacheable { /** 当前实体对象的db状态 */ protected DbStatus status = DbStatus.NORMAL; /** * 返回当前的db状态 * @return */ public abstract DbStatus getStatus();
发表评论
最新留言
感谢大佬
[***.8.128.20]2025年04月11日 22时24分12秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
基于单片机简易信号误差分析设计-全套资料
2019-03-05
基于单片机简易脉搏测量仪系统设计-毕设课设资料
2019-03-05
并发框架下的“基础类型”——浅析基本类型、ThreadLocal、原子类的线程安全机制
2019-03-05
VHDL代码风格
2019-03-05
图像处理系列1.skimage
2019-03-05
Object Clone
2019-03-05
Javascript中String支持使用正则表达式的四种方法
2019-03-05
2021年判断浏览器最新写法,你都掌握了吗?
2019-03-05
【IoT】蓝牙BLE基础:CC254x通信系列之模拟SPI协议
2019-03-05
【IoT】TI BLE CC2541 串口控制蓝牙详解
2019-03-05
【产品】项目管理的五个过程和九大知识领域之二
2019-03-05
【项目管理】项目管理流程浅析
2019-03-05
【Tool】如何使用 Uniflash 烧写 WIFI 芯片 CC3200
2019-03-05
copy_{to, from}_user()的思考
2019-03-05
Web前端安全策略之CSRF的攻击与防御
2019-03-05
纯客户端页面关键字搜索高亮jQuery插件
2019-03-05
linux运维中常用的命令
2019-03-05
M1芯片的macbook安装王者荣耀,原神,崩坏方法
2019-03-05
Java温故而知新-反射机制
2019-03-05
eclipse引用sun.misc开头的类
2019-03-05