as3+java+mysql(mybatis) 数据自动工具(七) - 完结
autoscript packed 文件地址:http://pan.baidu.com/s/1dDvgcO5
如果需要项目源码的话,可以留下邮箱,先声明一下,该工具主要是为了实现自动同步输出代码类文件的功能,所以代码写得并不是很规范什么的,没太大的参考意义,主要还是工具的实用性。
数据类和常量的配置基本就是前面所说明的那些了,现在来说一下怎么执行配置文件。执行配置文件需要写一个批处理文件,格式如下
java -classpath ./lib/*; AutoScript -?
这是一个执行 java 程序的标准语句,当然,再执行命令前是需要设置好 java 的环境变量的。
classpath 参数指定执行 java 类所需要的包依赖,AutoScript 指需要执行的 java 类,最后是 AutoScript 脚本类所需要的参数,参数的取值为:
-? : 表示帮助,输出 AutoScript 可以接收的参数,也可以用 -help 代替,当有该参数时,会忽略其它参数
-module : 表示需要执行什么功能模块,合法的参数为 -module macro(表示输出常量),-module object(表示输出 java 和 as3 公用数据类),-module database(表示输出 java 和 as3 公用数据类,以及 mysql 的建表脚本)
-template : freemaker 需要的输出文件模板路径,即 packed 文件夹下的 templates 文件夹
-config : 表示相关功能模块的配置文件路径,macro 功能模块只能接收一个配置文件路径,object 和 database 功能模块可以接收多个配置文件路径
-javaoutput : 表示 java 类文件的输出目录,可以指定为相对路径,也可以是绝对路径。如果不指定该参数,则不输出 java 相关文件
-javapackage : 表示 java 类文件的包名
-as3output : 表示 as3 类文件的输出目录,可以指定为相对路径,也可以是绝对路径。如果不指定该参数,则不输出 as3 相关文件
-javapackage : 表示 java 类文件的包名
-as3alias : as3 与 java 数据类的映射文件类名
-databaseoutput : mysql 脚本文件输出目录。如果不指定该参数,则不输出数据库 mysql 相关文件
-databasename : mysql 脚本文件数据库名字
每个执行命令都有固定格式 : java -classpath ./lib/*; AutoScript -template ./templates/ -module xxx
功能模块 -module macro 需要后续参数 -config xxx -javaoutput xxx -javapackage xxx -as3output xxx -as3package xxx,其中 -config 参数是必须的
功能模块 -module object 需要后续参数 -config xxx xxx -javaoutput xxx -javapackage xxx -as3output xxx -as3package xxx -as3alias xxx,其中 -config 参数是必须的
功能模块 -module database 需要后续参数 -config xxx xxx -javaoutput xxx -javapackage xxx -as3output xxx -as3package xxx -as3alias xxx -databaseoutput xxx -databasename xxx,其中 -config 参数是必须的
需要注意的是,输出数据类时最好用一条批处理,-config 参数指定所有数据类配置文件,这样 -as3alias 就只用生成一个,在客户端初始化时,也就只用调用一次数据类的映射类。但是功能模块 object 和 database 输出的数据类的映射没办法输出到一个 as3alias 映射类中,所以在 object 功能模块和 database 功能模块中的 -as3alias 参数值最好不要相同。
说完了,可能还是有些不理解,下面说明一下 packed 文件夹下的 execute_sample.bat 脚本吧。
::打印 AutoScript 支持的命令
java -classpath ./lib/*; AutoScript -?
查看 AutoScript 支持的参数,如图
::输出 宏文件
java -classpath ./lib/*; AutoScript -template ./templates/ ^
-module macro ^
-config ./samples/macrosSample.xml ^
-javaoutput ./output/java/com/vo/ ^
-javapackage com.vo ^
-as3output ./output/as3/com/vo/ ^
-as3package com.vo
输出 packed/samples 文件夹下的常量配置文件 macrosSample.xml(每行末的 ^ 符号是 windows 的批处理文件中连接 2 行的转义符)
-module 指定了输出常量功能模块
-config 参数指定了常量配置文件 samples 目录下的 macrosSample.xml 文件
-javaoutput 指定了输出 java 常量类文件的目录为 packed 文件夹下的 output/java/com/vo/
-javapackage 指定了 java 常量类的包路径
-as3output 指定了输出 as3 常量类文件的目录为 packed 文件夹下的 output/as3/com/vo/
-as3package 指定了 as3 常量类的包路径
输出文件目录如图
::输出类文件
java -classpath ./lib/*; AutoScript -template ./templates/ ^
-module object ^
-config ./samples/objectsSample.xml ./samples/objectsSample2.xml ^
-javaoutput ./output/java/com/vo/ ^
-javapackage com.vo ^
-as3output ./output/as3/com/vo/ ^
-as3package com.vo ^
-as3alias AliasRegister
输出 packed/samples 文件夹下的 objectsSample.xml 和 objectsSample2.xml。
-module 指定输出 as3 和 java 数据类同步功能模块
-config 指定了两个数据类配置文件 objectsSample.xml 和 objectsSample2.xml
-as3alias 指定了 as3 和 java 数据类映射类,该映射类用于客户端,在客户端初始化时需要调用 AliasRegister.register(),使从服务端获取的对象能转换成对应的 as3 对象
package com.vo
{
import flash.net.registerClassAlias; /**
* 注册与后端对应的实体类
* 2014-05-24 17:56:25
*/
public class AliasRegister
{ //============================================================================
//PROPERTY
//============================================================================
/** 是否已注册 */
private static var $registered:Boolean = false;
//============================================================================
//PUBLIC
//============================================================================
/** 注册别名 */
public static function register():void
{
if ($registered) return;
$registered = true; registerClassAlias("com.vo.TUserVO", com.vo.TUserVO);
} }
}
其它参数同上,输出文件目录如图
::输出数据库脚本文件
java -classpath ./lib/*; AutoScript -template ./templates/ ^
-module database ^
-config ./samples/databaseSample.xml ^
-javaoutput ./output/java/com/vo/ ^
-javapackage com.vo ^
-as3output ./output/as3/com/vo/ ^
-as3package com.vo ^
-as3alias AliasRegister ^
-databaseoutput ./output/java/com/vo/ ^
-databasename mysql_database
输出 packed/samples 文件夹下的 databaseSample.xml。
-module 指定了输出 as3、java 和 mysql 脚本同步功能模块
-databaseoutput 指定 mysql 脚本输出到 packed/output/java/com/vo/ 下
-databasename 指定了mysql 数据库名字,以及脚本文件名为 mysql_database
输出目录如图
as3+java+mysql(mybatis) 数据自动工具(七) - 完结的更多相关文章
- as3+java+mysql(mybatis) 数据自动工具(一)
在页游中,大部分的开发模式都是:客户端(as3)+ 服务端(java)+ 数据库(mysql). 在这3个部分会有一个相同的部分就是数据结构.比如一个用户数据,在客户端使用类 UserVO(as3) ...
- as3+java+mysql(mybatis) 数据自动工具(四)
现在介绍一下只配置 as3 与 java 公用的数据类,这种配置一般是该数据类只需要在 as3 与 java 之间转换,跟数据库没有关系.比如在客户端与服务端的数据交换中,需要定义一个统一返回请求的数 ...
- 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 ...
随机推荐
- 2734: [HNOI2012]集合选数 - BZOJ
Description <集合论与图论>这门课程有一道作业题,要求同学们求出{1, 2, 3, 4, 5}的所有满足以 下条件的子集:若 x 在该子集中,则 2x 和 3x 不能在该子集中 ...
- org.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type setter of com.chen.vo.Dept.parentId
异常描述:执行以下的addAsHaveParentId2方法出现此异常: /*-----------------------类Dept.Dept.hbm.xml有parentId属性(数据库中有此列) ...
- 使用eclipse远程调试Tomcat的方法
tomcat是一种非常常见的java web应用服务器,有时候服务器可能并不是部署在本地,而是部署在远程其他的机器上,我们用eclispe该如何进行debug调试呢? 1. 在eclispe中新建we ...
- ecos内核概览--bakayi译
http://blog.csdn.net/wangzaiwei2006/article/details/6453423
- 对Delphi控件作用的新理解(控件本身的源代码就是一个很强的工业级源码)
最近几天,对Delphi控件的含义有了一个新的理解.其实它不仅仅是给程序员提供功能的一个表层调用,控件本身的源代码就是一个很强的工业级源码.而且它的Main例子,往往就已经是半成品.而别的语言里没有那 ...
- 安装 ArcGIS Runtime SDK for Android
ArcGIS for Android 开发:Android 平台搭建 - liyong20080101的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/liyong ...
- 217. Contains Duplicate
题目: Given an array of integers, find if the array contains any duplicates. Your function should retu ...
- python学习笔记一--字符串
一.字符串: (一)字符串里单个元素的操作 1. 单个字符(元素)的序列组合. 2. 序列:单个字符的位置 3. 序列的操作:内置函数len获取长度,加位置索引 4. 获取字符串的里的元素:正向索引+ ...
- Octave下载
发福利啦,今天下了半天Octave都没下载下来,最后让一个香港的同学帮忙下好传过来的....放到网盘里造福大家 GNU_Octave_3.8.0-6.dmg 链接: http://pan.baidu. ...
- NFC(13)使用Android Beam技术传输文件
注意 Android Beam技术传输文件时nfc只负责连接两个手机,而传输文件实际是用蓝牙模块.且目前接收文件功能只是系统完成,不用自写个接收程序. 传输文件相关的重要api 从Android4.1 ...