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 ...
随机推荐
- css中>,+,~的用法
1.>的用法 A>B选择A的所有子元素B(只选择一代) 2.+的用法 A+B选择紧随着A的兄弟元素B 3.~的用法 A~B选择位置处于A后面的所有兄弟元素B(不包含兄弟元素的子元素)
- mac下搭建react-native环境
1.安装Homebrew 2.安装node(最好安装4.x以上版本这样就自带了一个npm) 3.安装npm(node的包管理工具) 一般高版本的npm在安装node的时候已经具有了 4.安装react ...
- C#之Attribute(特性)
本文主要复习下基础知识: 1.C#系统自带的特性: 建立一个控制台项目取名为AttributeTest: 我们添加了一个系统自带的Attribute叫Condition,这个特性表示在程序的DEBUG ...
- springdata整合mongodb一些方法包括or,and,regex等等《有待更新》
这几天接触mongodb以及springdata,自己英语比较戳,所以整理这些方法花的时间多了点,不过也是我第一次在外国网站整理技术 不多说,直接上代码,这里只是给出一些操作方法而已,如果有需要源码的 ...
- LNMP1.2一键安装教程
系统需求: CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian Linux系统 需要2GB以上硬盘剩余空间 128M以上内存,Xen的需要有SWAP,OpenVZ的另外 ...
- testlink的下载地址
http://sourceforge.jp/projects/sfnet_testlink/downloads/TestLink%201.9/TestLink%201.9.12/testlink-1. ...
- 6 款国外开源web oa办公系统(转)
国外的开源产品较多,而且大多提供免费的社区版本,oa办公系统也不例外. 1.eGroupware eGroupware是一个多用户,在以PHP为基础的API上的定制集为基础开发的,以WEB为基础的工作 ...
- Codeforces Round #360 div2
Problem_A(CodeForces 688A): 题意: 有d天, n个人.如果这n个人同时出现, 那么你就赢不了他们所有的人, 除此之外, 你可以赢他们所有到场的人. 到场人数为0也算赢. 现 ...
- Java OCR tesseract 图像智能字符识别技术 Java实现
Java OCR tesseract 图像智能字符识别技术 Java代码实现 接着上一篇OCR所说的,上一篇给大家介绍了tesseract 在命令行的简单用法,当然了要继承到我们的程序中,还是需要代码 ...
- 华为机试题——数组排序,且奇数存在奇数位置,偶数存在偶数位置
题目要求很简单,就是给你一个数组,对它进行排序,并且排序后,奇数要放在奇数的位置上,偶数要放在偶数的位置上,如果不满足这个规则的话就在数组上填充0 实现代码如下,文中值得注意的一点就是如何判读这个数字 ...