as3+java+mysql(mybatis) 数据自动工具(一)
在页游中,大部分的开发模式都是:客户端(as3)+ 服务端(java)+ 数据库(mysql)。
在这3个部分会有一个相同的部分就是数据结构。比如一个用户数据,在客户端使用类 UserVO(as3) 来表示,在服务端使用 UserVO(java)来表示,在数据库中数据表 t_user(mysql),这时在服务端(java)从数据库(mysql)中查询出用户数据后,需要转换成 UserVO(java)对象,再传输到客户端,需要转换成 UserVO(as3)对象。如果在开发中要在 as3 中写一个 UserVO 类,再在 java 中写一个 UserVO 类,最后再写一个 mysql 的建表语句 t_user,这在任何一个应用或者游戏中都是一个庞大的工作量(数据类超级多),而且在每次要更改、添加或者删除一个字段名或者类型时,相信每个程序员都会崩溃到砸电脑吧。
另外在客户端和服务端交互中会有一些公用的信息,比如 登录命令(取值1,也可以是字符串“login”),当服务器收到该命令(1)时,服务器必需很清楚知道这个 1 是代表登录请求,而且你肯定不会希望在程序中直接写 1 来做为判断的依据的。这时客户端和服务器会都有一套相同取值的常量定义,游戏中的请求命令绝对是一个庞大的集合,所以你也不会希望每次都去维护两套一样的常量。除了请求命令外,还有一些其它常量,比如玩家角色性别用什么值表示,玩家每个种族用什么值表示等等。
总结一下,在游戏开发中,我们总会希望在一些需要重复定义和维护的数据时,能只去关注一套数据,然后所有(客户端、服务器,甚至数据库都自动一致了)。还是用“用户数据”举个例子,比如定义用户拥有的字段:id(标识 - 整数类型),name(昵称 - 字符串类型,mysql数据库还有长度,假设为32),sex(性别 - 整数,0 代表 男,1 代表 女),然后能自动生成 as3 的 UserVO类,java 的 UserVO类,以及 mysql 的建表脚本 t_user。然后定义请求命令 LOGIN(整数) 取值为 1,然后也能自动生成 as3 的常量 LOGIN:int = 1,java 的常量 int LOGIN = 1。
然后就有了现在的自动工具 AutoScript.jar,在配置好需要的 数据对象和常量后就可以直接生成对应的 as3、java 数据类以及 mysql 建表语句。
as3+java+mysql(mybatis) 数据自动工具(一)的更多相关文章
- as3+java+mysql(mybatis) 数据自动工具(四)
现在介绍一下只配置 as3 与 java 公用的数据类,这种配置一般是该数据类只需要在 as3 与 java 之间转换,跟数据库没有关系.比如在客户端与服务端的数据交换中,需要定义一个统一返回请求的数 ...
- as3+java+mysql(mybatis) 数据自动工具(七) - 完结
autoscript packed 文件地址:http://pan.baidu.com/s/1dDvgcO5 如果需要项目源码的话,可以留下邮箱,先声明一下,该工具主要是为了实现自动同步输出代码类文件 ...
- as3+java+mysql(mybatis) 数据自动工具(三)
介绍一下数据类配置,该数据类配置主要用于需要将数据库 mysql 数据转换成 java 对象,再转换为 as3 对象的数据类 配置文件为 xml 格式. <objects> <obj ...
- as3+java+mysql(mybatis) 数据自动工具(二)
AutoScript 项目结构如下图 ---AutoScript.java 为程序入口 ---com.autoscript.object 同步 as3 和 java 的数据类 ---com.autos ...
- as3+java+mysql(mybatis) 数据自动工具(五)
现在介绍常量的配置,主要用于客户端(as3)与服务端(java)之间的常量同步,比如错误码.请求标识等 配置格式: <macros name="Macros" groupSt ...
- as3+java+mysql(mybatis) 数据自动工具(六)
这篇来写一些常量定义的实例.我一般在配置常量的时候,都会让 bitOffset = 20,这样是一个比较好的分配,就是每个分组可以有 0xFFFFF(1048575) 个常量,0xFFF(4095) ...
- java+Mysql大数据的一些优化技巧
众所周知,java在处理数据量比较大的时候,加载到内存必然会导致内存溢出,而在一些数据处理中我们不得不去处理海量数据,在做数据处理中,我们常见的手段是分解,压缩,并行,临时文件等方法; 例如,我们要将 ...
- Java+MySql图片数据保存与读取的具体实例
1.创建表: drop table if exists photo;CREATE TABLE photo ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ...
- Java+MySql图片数据保存
之前一直没有做过涉及到图片存储的应用,最近要做的东东涉及到了这个点,就做了一个小的例子算是对图片存储的初试吧! 1.创建表: drop table if exists photo; CREATE TA ...
随机推荐
- Jqery之select操作
jquery获取select选择的文本与值 获取select : 获取select 选中的 text : $("#ddlregtype").find("optio ...
- mac下搭建react-native环境
1.安装Homebrew 2.安装node(最好安装4.x以上版本这样就自带了一个npm) 3.安装npm(node的包管理工具) 一般高版本的npm在安装node的时候已经具有了 4.安装react ...
- [PHP]MemCached高级缓存
Memcache Win32 的安装下载:Memcache Win32 [www.php100.com] [www.jehiah.cz/projects/memcached-win32/] 1.解 ...
- 【7】了解Bootstrap栅格系统基础案例(2)
ps.这一次要说的是“Responsive column resets”,但是不知道为什么中文官网没有给出翻译,但是在看到案例的时候,感觉这就像一个bug,我自己姑且叫这个是一个高度bug吧,方便自己 ...
- python正则的中文处理
因工作需要,要查找中文汉字分词,因为python正则表达式\W+表示的是所有的中文字就连标点符号都包括.所以要想办法过滤掉. 参考博客:http://log.medcl.net/item/2011/0 ...
- sparkR原理
p.p1 { margin: 0.0px 0.0px 10.0px 0.0px; font: 11.0px "Times New Roman"; min-height: 12.0p ...
- 【WPF】路由事件
总结WPF中的路由事件,我将学到的内容分为四部分来逐渐掌握 第一部分:wpf中内置的路由事件 以Button的Click事件来说明内置路由事件的使用 XAML代码: <Window x:Clas ...
- 魔兽争霸Ⅲ运行时不能初始化directX的错误解决
运行魔兽争霸3不能初始化DirectX错误这样解决: 1:在运行中输入(win+r):dxdiag,查看显示栏,确定电脑已安装好directx 8.1以上,且下面的三个加速都已开启. 2:如果没有安装 ...
- C# - 参数数组Params
参数数组可以使用个数不定的参数调用函数,此时用params关键字定义它们. 限制:必须是函数定义中的最后一个参数:必须是同一类型的. 优点:不用在调用代码中传入数组,指定参数个数不受限制,可以不指定该 ...
- <五> jQuery 效果
显示隐藏 $("selector").show(speed, callback) $("selector").hide"(speed, callbac ...