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

输出目录如图

 

posted @ 2014-05-24 18:13  idoublewei  阅读(933)  评论(0编辑  收藏  举报