CodeGeerator是一个使用Freemarker和Velocity模板来生代码的工具。
本生成器只是将数据库中的表结构数据提取出来,然后将这份结构模型提交给模板引擎,根据你自定义的模板生成你需要的代码。
配置文件 <?xml versio="1.0" ecodig="utf-8" stadaloe="o"?> <cofiguratio> <classpath> <!-- 引入JDBC驱动,手动添加 --> <etry>lib/mysql-coector-java-5.1.36-bi.jar</etry> </classpath> <!-- 代码生成目标基准目录 --> <tagertProject>D:\temp</tagertProject> <!-- 基本包 --> <basePackage>org.joy</basePackage> <!-- 模块名 --> <moduleName>test</moduleName> <templates> <!-- 模板 ,手动添加 --> <template ame="实体类" egie="freemarker"> <!-- 模板文件 --> <templateFile>./etity.ftl</templateFile> <!-- 文件路径 --> <targetPath>${tagertProject}\src\${basePackage}\${moduleName}\etity\</targetPath> <!-- 文件名 --> <targetFileName>${table.className}.java</targetFileName> <!-- 文件编码 --> <fileEcodig>UTF-8</fileEcodig> </template> </templates> </cofiguratio>模板中可用的变量和方法Strig tagertProject 目标工程路径(代码保存的基准路径)Strig basePackage 基准包Strig moduleName 模块名table对象属性Strig tableName 表名Strig tableType 表类型Strig tableAlias 表别名Strig remarks 表注释Strig remarksUicode 表注释转Uicode后的字符串Strig className 实体类名Strig javaProperty 实体类作为属性时的名字 == ${table.className?ucap_first}List<Colum> primaryKeys 主键集List<Colum> baseColums 基本字段集List<Colum> colums 所有字段 == primaryKeys + baseColumsList<Key> importedKeys 所有 importedKeysList<Key> exportedKeys 所有 exportedKeysboolea hasDateColum 是否有日期类型字段boolea hasBigDecimalColum 是否有 BigDecimal 字段boolea hasNotNullColum 是否有非空的基本类型字段boolea hasNotBlakColum 是否有非空的 Strig 字段Colum属性Strig columName 字段名boolea primaryKey 是否为主键boolea foreigKey 是否为外键it size 字段长度it decimalDigits 小数位长度boolea ullable 是否可空boolea uique 是否唯一值boolea idexed 是否有索引Strig defaultValue 默认值Strig remarks 注释Strig remarksUicode 数字转Uicode后的字符串it jdbcType 对应 java.sql.TypesStrig jdbcTypeName 对应jdbcType的名称Strig javaProperty 属性名Strig javaType java类型,比如StrigStrig fullJavaType 完整的Java类型,比如 java.lag.StrigStrig getterMethodName Get方法名Strig setterMethodName Set方法名方法boolea isStrig() 是否是字符串boolea isFloatNumber() 是否是浮点型,含Float、Double、BigDecimalboolea isItegerNumber() 是否是整型,含Byte、Short、Iteger、Logboolea isBigDecimal() 是否是BigDecimal类型boolea isBoolea() 是否是布尔类型boolea isDate() 是否有日期类型,含Date、Timestamp、Timeboolea isBLOB() 是否有 BLOB、CLOB、LONGVARCHAR、LONGVARBINARY或VARBINARYKeyStrig pkTableName PKTABLE_NAMEStrig pkColumName PKCOLUMN_NAMEStrig fkTableName FKTABLE_NAMEStrig fkColumName FKCOLUMN_NAMEIteger seq KEY_SEQ
评论