Java代碼生成利器之rapid-generate應用二

  上節我們簡單介紹了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&amp;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層。

這裏寫圖片描述

發佈了52 篇原創文章 · 獲贊 12 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章