MyGeneration配置介绍
首先要介绍几个重要的东西,
MyGeneration安装目录有3个重要文件夹:
Settings:存放配置文件DefaultSettings.xml、DbTargets.xml、Languages.xml等;
GeneratedCode:默认的生成文件存放目录;
Templates:默认的模板文件存放目录;
MyGeneration配置文件:DefaultSettings.xml是缺省配置的记录文件;
DbTargets.xml是数据库的数据类型与数据库驱动的类型映射,如:<DbTarget From="SQL" To="SqlClient"><Type From="bigint" To="SqlDbType.BigInt" /></DbTarget>;
Languages.xml是数据库数据类型与编程语言数据类型的映射,如果没有自己所需的可以自己加入。譬如我们加入一段mysql对java的:
<Language From="MYSQL2" To="Java">
<Type From="BIT" To="byte" />
<Type From="BIGINT" To="long" />
<Type From="INT" To="int" />
<Type From="MEDIUMINT" To="int" />
<Type From="SMALLINT" To="short" />
<Type From="TINYINT" To="int" />
<Type From="BIGINT UNSIGNED" To="java.math.BigInteger" />
<Type From="INT UNSIGNED" To="long" />
<Type From="MEDIUMINT UNSIGNED" To="long" />
<Type From="SMALLINT UNSIGNED" To="int" />
<Type From="TINYINT UNSIGNED" To="int" />
<Type From="FLOAT" To="float" />
<Type From="FLOAT UNSIGNED" To="double" />
<Type From="DECIMAL" To="java.math.BigDecimal" />
<Type From="DECIMAL UNSIGNED" To="java.math.BigDecimal" />
<Type From="NUMERIC" To="double" />
<Type From="NUMERIC UNSIGNED" To="double" />
<Type From="DOUBLE UNSIGNED" To="double" />
<Type From="DOUBLE" To="double" />
<Type From="REAL" To="double" />
<Type From="REAL UNSIGNED" To="double" />
<Type From="VARCHAR" To="String" />
<Type From="CHAR" To="String" />
<Type From="TIMESTAMP" To="java.sql.Timestamp" />
<Type From="DATE" To="java.sql.Date" />
<Type From="DATETIME" To="java.util.Date" />
<Type From="BLOB" To="byte[]" />
<Type From="LONGBLOB" To="byte[]" />
<Type From="TINYBLOB" To="byte[]" />
<Type From="MEDIUMBLOB" To="byte[]" />
<Type From="TEXT" To="String" />
<Type From="TIME" To="java.sql.Time" />
<Type From="LONGTEXT" To="String" />
<Type From="MEDIUMTEXT" To="String" />
<Type From="TINYTEXT" To="String" />
<Type From="ENUM" To="String" />
</Language>
MyGeneration Default Setting配置界面:
上图Templates选项卡里是缺省模板目录与缺省输出目录的选择。
模板属性介绍
模板组(Template Group)
模板组是共用一个输入界面的一组模板。以生成java中的SSH框架代码为例,我们要生成实体Entity类、dao层、service层三种代码。如果三层代码都放在一个TemplateCode里写,那代码量会比较大不容易管理,而且有时候我们只是想生成一个entity类。
模板组很好的解决了这个问题,我们对三种代码分别做一个独立的模板,然后再做一个Group的模板, Group模板提供输入界面Interface Code,但该模板的Template Code为空。当选择了Type为Group后属性下面为提供一个模板组选择框,选择之前做的三个独立模板即可。
工程(Project)
一个MyGeneration工程其实就是一组同时运行的模板,在工程上使用Add Template instance加入模板,加入模板时选择“Recode Template input”即记录输入,因为运行工程后是没有输入界面的。