在页游中,大部分的开发模式都是:客户端(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) 数据自动工具(一)的更多相关文章

  1. as3+java+mysql(mybatis) 数据自动工具(四)

    现在介绍一下只配置 as3 与 java 公用的数据类,这种配置一般是该数据类只需要在 as3 与 java 之间转换,跟数据库没有关系.比如在客户端与服务端的数据交换中,需要定义一个统一返回请求的数 ...

  2. as3+java+mysql(mybatis) 数据自动工具(七) - 完结

    autoscript packed 文件地址:http://pan.baidu.com/s/1dDvgcO5 如果需要项目源码的话,可以留下邮箱,先声明一下,该工具主要是为了实现自动同步输出代码类文件 ...

  3. as3+java+mysql(mybatis) 数据自动工具(三)

    介绍一下数据类配置,该数据类配置主要用于需要将数据库 mysql 数据转换成 java 对象,再转换为 as3 对象的数据类 配置文件为 xml 格式. <objects> <obj ...

  4. as3+java+mysql(mybatis) 数据自动工具(二)

    AutoScript 项目结构如下图 ---AutoScript.java 为程序入口 ---com.autoscript.object 同步 as3 和 java 的数据类 ---com.autos ...

  5. as3+java+mysql(mybatis) 数据自动工具(五)

    现在介绍常量的配置,主要用于客户端(as3)与服务端(java)之间的常量同步,比如错误码.请求标识等 配置格式: <macros name="Macros" groupSt ...

  6. as3+java+mysql(mybatis) 数据自动工具(六)

    这篇来写一些常量定义的实例.我一般在配置常量的时候,都会让 bitOffset = 20,这样是一个比较好的分配,就是每个分组可以有 0xFFFFF(1048575) 个常量,0xFFF(4095) ...

  7. java+Mysql大数据的一些优化技巧

    众所周知,java在处理数据量比较大的时候,加载到内存必然会导致内存溢出,而在一些数据处理中我们不得不去处理海量数据,在做数据处理中,我们常见的手段是分解,压缩,并行,临时文件等方法; 例如,我们要将 ...

  8. Java+MySql图片数据保存与读取的具体实例

    1.创建表: drop table if exists photo;CREATE TABLE photo (    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ...

  9. Java+MySql图片数据保存

    之前一直没有做过涉及到图片存储的应用,最近要做的东东涉及到了这个点,就做了一个小的例子算是对图片存储的初试吧! 1.创建表: drop table if exists photo; CREATE TA ...

随机推荐

  1. 实现一个div在浏览器水平居中

    第一种方法: div { margin: 0 auto; width: 960px; } 第二种方法(兼容IE): body { text-align: center; } div { margin: ...

  2. httpd.ini

    [ISAPI_Rewrite]CacheClockRate 3600RepeatLimit 32RewriteRule ^(.*)/plus/list-tid-([0-9]+)\.html$ $1/p ...

  3. 更改git bash默认的路径

    更改git bash默认的路径   在打开git bash时,每次都是在C:\Uer路径下,每次都需要先用cd命令转换到自己需要工作的路径(cd  /f/dss).修改打开git bash 时的默认的 ...

  4. pymssql 安装测试

    平台 : windows 7 32位 数据库 : SQLSERVER 2008 python 2.7  & pymssql模块 数据库和python 等模块安装说明省略 以下贴出测试代码: 单 ...

  5. uCGUI窗口操作要点

    uCGUI窗口操作要点 1. 创建一个窗口的时候,会给此窗口发送“创建(WM_CREATE)”消息,从而执行它的回调函数:如果创建窗口的标志带有“可视标志(WM_CF_SHOW)”,那么在后续执行GU ...

  6. ubuntu中文版切换为英文后字体变化问题解决

    为了熟悉更多Linux 的英语词汇,希望把Ubuntu 的界面换成英文的.使用System->Administration->Language Suport( 系统-> 管理-> ...

  7. CSS content内容生成技术以及应用(转)

    一.哗啦哗啦的简介 zxx://这里“哗啦哗啦”的作用是为了渲染一种氛围.content属性早在 CSS2.1的时候就被引入了,可以使用:before以及:after伪元素生成内容.此特性目前已被大部 ...

  8. Oracle常用查看表结构命令

    获取表: select table_name from user_tables; //当前用户的表 select table_name from all_tables; //所有用户的表 select ...

  9. MemoryStream类

    转自:http://www.cnblogs.com/kissdodog/archive/2013/01/20/2868864.html MemoryStream 是一个特例,MemoryStream中 ...

  10. 从一个脚本谈loadrunner的脚本初始化

    昨天一个同事问我,如何实现下列代码中 InputStream类is对象的实例化? * LoadRunner Java script. (Build: _build_number_) * * Scrip ...