`
风过无声
  • 浏览: 87878 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

rapid-generator 代码生成器

 
阅读更多

1.简介

rapid-generator是一个由JAVA编写的,通过数据库元数据和模板框架freemarker自动生成代码的一个开源框架。

2.实现

pom.xml

		<dependency>
			<groupId>com.googlecode.rapid-framework</groupId>
			<artifactId>rapid-generator</artifactId>
			<version>4.0.6</version>
		</dependency>

 

generator.xml

<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
     <!-- 系统配置,详见GeneratorConstants.java -->
     <!-- 自动生成代码的输出路径 -->
     <entry key="outRoot">F:/CodeGenerator/codes</entry>
     <entry key="jdbc_driver">com.mysql.jdbc.Driver</entry>
     <entry key="jdbc_url">XXX</entry>
     <entry key="jdbc_username">root</entry>
     <entry key="jdbc_password">123456</entry>
     <!-- 需要移除的表名前缀,使用, \t\n\r\f进行分隔多个前缀,示例值: t_,v_ -->
     <entry key="tableRemovePrefixes">t_</entry>
     <!-- 列类型和JavaType的对应关系 -->
     <!-- DatabaseDataTypesUtils -->
     <!-- 自定义列类型和JavaType的对应关系 -->
     <!-- Column.initOtherProperties -->
     <entry key="java_typemapping.java.lang.Byte">byte</entry>
     <entry key="java_typemapping.java.lang.Short">short</entry>
     <entry key="java_typemapping.java.lang.Integer">int</entry>
     <entry key="java_typemapping.java.lang.Long">long</entry>
     <entry key="java_typemapping.java.lang.Float">float</entry>
     <entry key="java_typemapping.java.lang.Double">double</entry>
     <entry key="java_typemapping.java.lang.Boolean">boolean</entry>
     <entry key="java_typemapping.java.lang.String">String</entry>
     <entry key="java_typemapping.java.sql.Date">Date</entry>
     <entry key="java_typemapping.java.sql.Time">Date</entry>
     <entry key="java_typemapping.java.sql.Timestamp">Date</entry>
     <!-- 自定义变量 -->
     <!-- 可添加自定义的变量,在模板文件中引用 -->
     <entry key="basepackage">XXX</entry>
</properties>

 

SimpleTest.java

package com.siyuan.study.codegenerator;

import cn.org.rapid_framework.generator.GeneratorFacade;

public class SimpleTest {

	public static void main(String[] args) throws Exception {
		GeneratorFacade g = new GeneratorFacade();
		g.deleteOutRootDir();
		g.getGenerator().setTemplateRootDir("F:/CodeGenerator/template");
		g.generateByTable("t_activity");
	}

}

 

${className}.java

<#assign className = table.className>   
<#assign classNameLower = className?uncap_first> 
package ${basepackage}.model;
<#list table.columns as column>
	<#if column.javaType == "Date">

import java.util.Date;
	<#break>
	</#if>
</#list>

public class ${className} {
	
<#list table.columns as column>
	private ${column.javaType} ${column.columnName?uncap_first};
</#list>
  
	public ${className}(){
	}
<#list table.columns as column>
	
	public ${column.javaType} get${column.columnName?cap_first}() {
		return this.${column.columnName?uncap_first};
	}
	
	public void set${column.columnName?cap_first}(${column.javaType} ${column.columnName?uncap_first}) {
		this.${column.columnName?uncap_first} = ${column.columnName?uncap_first};
	}
</#list>  
    
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics