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 ...
随机推荐
- SQL索引问题
很多文章都提到使用IN,OR会破坏索引,造成全表扫描,但实际测试却不是这样. ) 或者 ,) 以上SQL文,第一组(=,IN),第二组(=,OR,IN),每一组的两个SQL文都使用相同的执行计划,执行 ...
- Popen No such file or directory 错误
File , in reload_config stderr=PIPE, env={"PATH": '', "HOME": "/root"} ...
- 【prism】前期准备
在网上下了prism框架源码,目前最新版本为4.1,其中包含的内容如下: 其中包含三类文件: 1.类似于Desktop only-Prism Library.bat的批处理文件,用来打开相应的Pris ...
- [转]利用/*+Ordered*/提高查询性能
[转]利用/*+Ordered*/提高查询性能 2009-02-06 10:46:27| 分类: Oracle | 标签: |字号大中小 订阅 消耗在准备利用Oracle执行计划机制提高查询性能 ...
- 加解密算法二:非对称加解密及RSA算法的实现
加密和解密使用不同的密钥的一类加密算法.这类加密算法通常有两个密钥A和B,使用密钥A加密数据得到的密文,只有密钥B可以进行解密操作(即使密钥A也无法解密):相反,使用密钥B加密数据得到的密文,只有密钥 ...
- Render Texture的使用(截取rendertexture的一帧到Texture2D)
游戏里人物角色太多,每个角色都要有张头像或全身照等,这样就必须截取大量的图片,花费大量的时间,有时截取的不满意还得重新截,即浪费时间又浪费精力.所以就想了个投机取巧的方法.那就是用unity搭建一个照 ...
- U当家U盘启动盘制作教程
U当家U盘启动盘制作工具制作u盘系统安装盘支持老机器.新机器启动以及制作,U当家内置强大的U盘一键重装系统工具支持传统和GPT安装,支持原版操作系统和GHOST操作系统安装(ISO/GHO/WIM), ...
- 使用.net 的Chart控件绘制曲线图
在进行软件开发过程中我们可能会碰到需要生成图表的情况,在.NET中以前经常用GDI去绘制,虽然效果也不错,自从.NET 4.0开始,专门为绘制图表而生的Chart控件出现了,有了它,就可以轻松的绘制你 ...
- gei shilei d
body, p { margin: 0; padding: 0; font-size: 16px; } div { margin: 0 auto; } .wrapper { width: 1080px ...
- Android编程中常用的PopupWindow和Dialog对话框
注意:PopupWindow组件的使用问题,PopupWindow是一个阻塞对话框,如果你直接在Activity创建的方法中显示它,则会报错:android.view.WindowManager$Ba ...