rapid-generator4.06 JAVA代码生成器配置,模板自定义

codeFactory
介绍:
1.codeFactory: Java代码生成,依赖rapid-generator.4.0.6.jar, 支持自定义模板生成代码, 弱业务下完全解放体力劳动.集成分页插件
2.ssm模板实现:pojo,dao,daoimpl,service,serviceimpl,controller,各mapper.xml 代码自动生成,
3.配置文件自动生(含:spring,springMVC,mybatis,web.xml); 代码完美运行.
使用:
1.配置generator.xml(key):basepackage,namespace,outRoot,jdbc_username,jdbc_password,jdbc_url(默认MySQL库)
2.CodeGenerator类g.generateByTable("tb_admin","tb_city");方法传参(table表名),支持批量传参和单表操作
3.main方法运行CodeGenerator类,在配置的outRoot输出路径找到生成代码,复制到对应项目包下.页面${page.list}获取绑定值, (page是controller绑定的参数, 分页插件写法)


一: 需求
     读取数据库表结构,通过对字段类型、名称等分析得到需要的各种变量,根据模板生成相应的pojo类、xml配置文件、dao和service的接 口和类。

     已实现ssm 代码模板

二: 配置

     新建maven项目,  1 . 配置pom.xml    2 . 新建template文件夹(放公共文件和模板) 

     3 . 新建类CodeGenerator(mai方法中找到模板地址由此生成自定义代码)    4 .  配置generator.xml

      rapid-generator4.06.jar 和3.9版本有区别,3.9的generator.xml  中jdbc.url 是点,4.0.6版本中是jdbc_url  需要注意区别

      完整代码:  https://git.oschina.net/houfeng30920/codeFactory/repository/archive/master

     

pom.xml

[html]  view plain  copy
  1. <dependencies>  
  2.         <!-- 代码生成工具 -->  
  3.         <dependency>  
  4.             <groupId>com.googlecode.rapid-framework</groupId>  
  5.             <artifactId>rapid-generator</artifactId>  
  6.             <version>4.0.6</version>  
  7.         </dependency>  
  8.   
  9.   
  10.         <!-- mysql数据库 -->  
  11.         <dependency>  
  12.             <groupId>mysql</groupId>  
  13.             <artifactId>mysql-connector-java</artifactId>  
  14.             <version>5.1.34</version>  
  15.         </dependency>  
  16.   
  17.         <!-- freemarker -->  
  18.         <dependency>  
  19.             <groupId>org.freemarker</groupId>  
  20.             <artifactId>freemarker</artifactId>  
  21.             <version>2.3.16</version>  
  22.         </dependency>  
  23.   
  24.         <!-- https://mvnrepository.com/artifact/com.h2database/h2 -->  
  25.         <dependency>  
  26.             <groupId>com.h2database</groupId>  
  27.             <artifactId>h2</artifactId>  
  28.             <version>1.2.135</version>  
  29.         </dependency>  
  30.   
  31.         <!-- 代码生成器扩展包 -->  
  32.         <dependency>  
  33.             <groupId>com.googlecode.rapid-framework</groupId>  
  34.             <artifactId>rapid-generator-ext</artifactId>  
  35.             <version>4.0.6</version>  
  36.         </dependency>  
  37.   
  38.         <!-- 代码生成器模板,模板根目录通过 classpath:generator/template/rapid 可以引用 -->  
  39.         <dependency>  
  40.             <groupId>com.googlecode.rapid-framework</groupId>  
  41.             <artifactId>rapid-generator-template</artifactId>  
  42.             <version>4.0.6</version>  
  43.         </dependency>  
  44.   
  45.         <dependency>  
  46.             <groupId>junit</groupId>  
  47.             <artifactId>junit</artifactId>  
  48.             <version>3.8.1</version>  
  49.             <scope>test</scope>  
  50.         </dependency>  
  51.     </dependencies>  

CodeGenerator类

[java]  view plain  copy
  1. import cn.org.rapid_framework.generator.GeneratorFacade;  
  2.   
  3. public class CodeGenerator {  
  4.       
  5.     public static void main(String[] args) throws Exception {  
  6.         // 模板地址  
  7.         String templatePath = "D:/myeclipse_workspace/codeFactory/src/main/resources/template";  
  8.         GeneratorFacade g = new GeneratorFacade();  
  9.         g.getGenerator().addTemplateRootDir(templatePath);  
  10.         // 删除生成器的输出目录//  
  11.         //g.deleteOutRootDir();  
  12.         // 通过数据库表生成文件  
  13.         g.generateByTable("tb_admin");  
  14.   
  15.         // 自动搜索数据库中的所有表并生成文件,template为模板的根目录  
  16.         // g.generateByAllTable();  
  17.         // 按table名字删除文件  
  18.         // g.deleteByTable("table_name", "template");  
  19.     }  
  20. }  


log4j.properties  放在template文件夹内了

[html]  view plain  copy
  1.  ### 设置###  
  2. log4j.rootLogger = debug,stdout,D,E  
  3.   
  4. ### 输出信息到控制抬 ###  
  5. log4j.appender.stdout = org.apache.log4j.ConsoleAppender  
  6. log4j.appender.stdout.Target = System.out  
  7. log4j.appender.stdout.layout = org.apache.log4j.PatternLayout  
  8. log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n  

generator.xml   放在template文件夹内了

[html]  view plain  copy
  1. <?xml version="1.0" encoding="GBK"?>    
  2. <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">    
  3. <properties>    
  4.     <comment>    
  5.         代码生成器配置文件:     
  6.         1.会为所有的property生成property_dir属性,如pkg=com.company => pkg_dir=com/company    
  7.         2.可以引用环境变量: ${env.JAVA_HOME} or System.properties: ${user.home},property之间也可以相互引用    
  8.     </comment>    
  9.         
  10.     <entry key="basepackage">com.minarea</entry>    
  11.         
  12.     <!-- jsp namespace: web/${namespace}/${className}/list.jsp -->    
  13.     <entry key="namespace">pages</entry>    
  14.         
  15.     <entry key="outRoot">\generator-output</entry>  
  16.     
  17.     <!-- 需要移除的表名前缀,使用逗号进行分隔多个前缀,示例值: t_,v_ -->    
  18.     <entry key="tableRemovePrefixes"></entry>    
  19.         
  20.     <entry key="jdbc_username">root</entry>    
  21.     <entry key="jdbc_password">root</entry>    
  22.             
  23.     <!-- oracle需要指定jdbc.schema,其它数据库忽略此项配置  -->    
  24.     <entry key="jdbc_schema"></entry>    
  25.     <entry key="jdbc_catalog"></entry>    
  26.         
  27.     <!-- 数据库类型映射  -->    
  28.     <entry key="java_typemapping.java.sql.Timestamp">java.util.Date</entry>    
  29.     <entry key="java_typemapping.java.sql.Date">java.util.Date</entry>    
  30.     <entry key="java_typemapping.java.sql.Time">java.util.Date</entry>      
  31.     <entry key="java_typemapping.java.lang.Byte">Integer</entry>    
  32.     <entry key="java_typemapping.java.lang.Short">Integer</entry>    
  33.     <entry key="java_typemapping.java.math.BigDecimal">Long</entry>    
  34.     
  35.     <!-- H2 -->    
  36.     <!-- <entry key="jdbc.url">jdbc:h2:tcp://localhost/test</entry>    
  37.     <entry key="jdbc.driver">org.h2.Driver</entry>    
  38.     -->    
  39.             
  40.     <entry key="jdbc_url">jdbc:mysql://localhost:3306/bangbang?useUnicode=true&characterEncoding=UTF-8</entry>    
  41.     <entry key="jdbc_driver">com.mysql.jdbc.Driver</entry>    
  42.     
  43.     <!-- Oracle  jdbc:oracle:oci:@tnsname_devdb    
  44.     <entry key="jdbc.url">jdbc:oracle:thin:@192.168.0.177:1521:[sid]</entry>    
  45.     <entry key="jdbc.driver">oracle.jdbc.driver.OracleDriver</entry>    
  46.     -->    
  47.         
  48.     <!-- SQLServer2000     
  49.     <entry key="jdbc.url">jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=[database]</entry>    
  50.     <entry key="jdbc.driver">com.microsoft.jdbc.sqlserver.SQLServerDriver</entry>    
  51.     -->    
  52.         
  53.     <!-- SQLServer2005     
  54.     <entry key="jdbc.url">jdbc:sqlserver://192.168.0.98:1433;DatabaseName=[database]</entry>    
  55.     <entry key="jdbc.driver">com.microsoft.sqlserver.jdbc.SQLServerDriver</entry>    
  56.     -->    
  57.     
  58.     <!-- JTDs for SQLServer     
  59.     <entry key="jdbc.url">jdbc:jtds:sqlserver://192.168.0.102:1433/[database];tds=8.0;lastupdatecount=true</entry>    
  60.     <entry key="jdbc.driver">net.sourceforge.jtds.jdbc.Driver</entry>    
  61.     -->    
  62.     
  63.     <!-- PostgreSql    
  64.    <entry key="jdbc.url">jdbc:postgresql://localhost/[database]</entry>    
  65.    <entry key="jdbc.driver">org.postgresql.Driver</entry>    
  66.     -->    
  67.         
  68.     <!-- Sybase    
  69.    <entry key="jdbc.url">jdbc:sybase:Tds:localhost:5007/[database]</entry>    
  70.    <entry key="jdbc.driver">com.sybase.jdbc.SybDriver</entry>    
  71.     -->    
  72.         
  73.     <!-- DB2     
  74.     <entry key="jdbc.url">jdbc:db2://localhost:5000/[database]</entry>    
  75.     <entry key="jdbc.driver">com.ibm.db2.jdbc.app.DB2Driver</entry>    
  76.     -->    
  77.         
  78.     <!-- HsqlDB     
  79.     <entry key="jdbc.url">jdbc:hsqldb:mem:generatorDB</entry>    
  80.     <entry key="jdbc.driver">org.hsqldb.jdbcDriver</entry>    
  81.     -->    
  82.         
  83.     <!-- Derby     
  84.     <entry key="jdbc.url">jdbc:derby://localhost/databaseName</entry>    
  85.     <entry key="jdbc.driver">org.apache.derby.jdbc.ClientDriver</entry>     
  86.     -->    
  87.     
  88. </properties>    

template 文件夹的公共文件: 来自  rapid-generator-template-4.0.6 下的这5个文件.





https://blog.csdn.net/houfeng30920/article/details/52730893




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值