您的位置:首页 > 编程语言 > Java开发

Java代码生成利器之rapid-generate应用二

2015-03-02 22:16 309 查看
  上节我们简单介绍了rapid-generate能做些什么,并演示了一下工具自带的测试代码,本节我们将把这把利器结合Mysql应用到我们的项目中。

步骤一:新建java项目工程,将rapid-generate中的generate.xml文件以及template文件夹拷贝进来,并引入所依赖的3个jar包,freemarker.jar,mysql-connector-java-5.0.5-bin.jar,rapid-generator.jar。



步骤二:新建Test.java类,代码如下:

package aa;

import cn.org.rapid_framework.generator.GeneratorFacade;

public class Test {
public static void main(String[]args)throws Exception{
GeneratorFacade g = new GeneratorFacade();
g.deleteOutRootDir();
//删除生成器的输出目录//
//g.generateByTable("table_name","template");
//通过数据库表生成文件,template为模板的根目录
g.generateByAllTable("template");
//自动搜索数据库中的所有表并生成文件,template为模板的根目录
//g.generateByClass(Blog.class,"template_clazz");
//  g.deleteByTable("table_name", "template");
//删除生成的文件
}
}


步骤三:根据自己的需求修改 generator.xml,这里我们使用Mysql数据库。

<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>
代码生成器配置文件:
1.会为所有的property生成property_dir属性,如pkg=com.company => pkg_dir=com/company
2.可以引用环境变量: ${env.JAVA_HOME} or System.properties: ${user.home},property之间也可以相互引用
</comment>

<entry key="basepackage">com.company.project</entry>

<!-- jsp namespace: web/${namespace}/${className}/list.jsp -->
<entry key="namespace">pages</entry>

<entry key="outRoot">F:\2013-2014\Eclipse-J2EE\workspace\Rapid-Generator-Pro\out-put</entry>

<!-- 需要移除的表名前缀,使用逗号进行分隔多个前缀,示例值: t_,v_ -->
<entry key="tableRemovePrefixes"></entry>

<entry key="jdbc.username">root</entry>
<entry key="jdbc.password">root</entry>

<!-- oracle需要指定jdbc.schema,其它数据库忽略此项配置  -->
<entry key="jdbc.schema"></entry>
<entry key="jdbc.catalog"></entry>

<!-- 数据库类型映射  -->
<entry key="java_typemapping.java.sql.Timestamp">java.util.Date</entry>
<entry key="java_typemapping.java.sql.Date">java.util.Date</entry>
<entry key="java_typemapping.java.sql.Time">java.util.Date</entry>
<entry key="java_typemapping.java.lang.Byte">Integer</entry>
<entry key="java_typemapping.java.lang.Short">Integer</entry>
<entry key="java_typemapping.java.math.BigDecimal">Long</entry>

<!-- H2 -->
<!--<entry key="jdbc.url">jdbc:h2:tcp://localhost/test</entry>
<entry key="jdbc.driver">org.h2.Driver</entry>-->

<!-- Mysql -->
<entry key="jdbc.url">jdbc:mysql://localhost:3306/tgdb?useUnicode=true&characterEncoding=UTF-8</entry>
<entry key="jdbc.driver">com.mysql.jdbc.Driver</entry>

<!-- Oracle     jdbc:oracle:oci:@tnsname_devdb
<entry key="jdbc.url">jdbc:oracle:thin:@192.168.0.177:1521:[sid]</entry>
<entry key="jdbc.driver">oracle.jdbc.driver.OracleDriver</entry>
-->

<!-- SQLServer2000
<entry key="jdbc.url">jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=[database]</entry>
<entry key="jdbc.driver">com.microsoft.jdbc.sqlserver.SQLServerDriver</entry>
-->

<!-- SQLServer2005
<entry key="jdbc.url">jdbc:sqlserver://192.168.0.98:1433;DatabaseName=[database]</entry>
<entry key="jdbc.driver">com.microsoft.sqlserver.jdbc.SQLServerDriver</entry>
-->

<!-- JTDs for SQLServer
<entry key="jdbc.url">jdbc:jtds:sqlserver://192.168.0.102:1433/[database];tds=8.0;lastupdatecount=true</entry>
<entry key="jdbc.driver">net.sourceforge.jtds.jdbc.Driver</entry>
-->

<!-- PostgreSql
<entry key="jdbc.url">jdbc:postgresql://localhost/[database]</entry>
<entry key="jdbc.driver">org.postgresql.Driver</entry>
-->

<!-- Sybase
<entry key="jdbc.url">jdbc:sybase:Tds:localhost:5007/[database]</entry>
<entry key="jdbc.driver">com.sybase.jdbc.SybDriver</entry>
-->

<!-- DB2
<entry key="jdbc.url">jdbc:db2://localhost:5000/[database]</entry>
<entry key="jdbc.driver">com.ibm.db2.jdbc.app.DB2Driver</entry>
-->

<!-- HsqlDB
<entry key="jdbc.url">jdbc:hsqldb:mem:generatorDB</entry>
<entry key="jdbc.driver">org.hsqldb.jdbcDriver</entry>
-->

<!-- Derby
<entry key="jdbc.url">jdbc:derby://localhost/databaseName</entry>
<entry key="jdbc.driver">org.apache.derby.jdbc.ClientDriver</entry>
-->

</properties>


步骤四: 我们运行Test中的main函数,看到控制台有输出log,并且刷新项目,出现out-put目录。



  至此,我们成功的将rapid-generate生成器集成到了我们自己的项目中,连接mysql数据库tgdb,生成了表user的dao层,controller层,视图层,model层。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: