rapid-generator4.06 JAVA代码生成器配置,模板自定义
来源:互联网 发布:js给div加class 编辑:程序博客网 时间:2024/06/04 17:54
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
<dependencies><!-- 代码生成工具 --><dependency><groupId>com.googlecode.rapid-framework</groupId><artifactId>rapid-generator</artifactId><version>4.0.6</version></dependency><!-- mysql数据库 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.34</version></dependency><!-- freemarker --><dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.16</version></dependency><!-- https://mvnrepository.com/artifact/com.h2database/h2 --><dependency><groupId>com.h2database</groupId><artifactId>h2</artifactId><version>1.2.135</version></dependency><!-- 代码生成器扩展包 --><dependency><groupId>com.googlecode.rapid-framework</groupId><artifactId>rapid-generator-ext</artifactId><version>4.0.6</version></dependency><!-- 代码生成器模板,模板根目录通过 classpath:generator/template/rapid 可以引用 --><dependency><groupId>com.googlecode.rapid-framework</groupId><artifactId>rapid-generator-template</artifactId><version>4.0.6</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency></dependencies>
CodeGenerator类
import cn.org.rapid_framework.generator.GeneratorFacade;public class CodeGenerator {public static void main(String[] args) throws Exception {// 模板地址String templatePath = "D:/myeclipse_workspace/codeFactory/src/main/resources/template";GeneratorFacade g = new GeneratorFacade();g.getGenerator().addTemplateRootDir(templatePath);// 删除生成器的输出目录////g.deleteOutRootDir();// 通过数据库表生成文件g.generateByTable("tb_admin");// 自动搜索数据库中的所有表并生成文件,template为模板的根目录// g.generateByAllTable();// 按table名字删除文件// g.deleteByTable("table_name", "template");}}
log4j.properties 放在template文件夹内了
### 设置###log4j.rootLogger = debug,stdout,D,E### 输出信息到控制抬 ###log4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target = System.outlog4j.appender.stdout.layout = org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
generator.xml 放在template文件夹内了
<?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.minarea</entry> <!-- jsp namespace: web/${namespace}/${className}/list.jsp --> <entry key="namespace">pages</entry> <entry key="outRoot">\generator-output</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> --> <entry key="jdbc_url">jdbc:mysql://localhost:3306/bangbang?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>
template 文件夹的公共文件: 来自 rapid-generator-template-4.0.6 下的这5个文件.
0 0
- rapid-generator4.06 JAVA代码生成器配置,模板自定义
- Java 代码生成器 rapid-generator 配置
- rapid-generator JAVA代码生成器
- Java 生成器 rapid-generator 配置
- Java 生成器 freemarker+rapid-generator 配置
- 代码生成器自定义模板
- web项目快速代码生成器rapid-framework
- web项目快速代码生成器rapid-framework
- 【rapid-generator】代码生成器工具使用
- 在动软.net代码生成器中使用自定义模板
- 关于自定义代码生成器
- 【Java】Eclipse 自定义代码模板
- Java之利用Freemarker模板引擎实现代码生成器,提高效率
- Java Web 模板代码生成器的设计与实现
- myeclipse优化+自定义java注释模板+自定义Java代码模板
- 动软代码生成器 模板
- 自定义java代码快捷生成器使用与问题解决
- Maven自定义插件开发(rapid-generator自动生成代码)
- Atitit.信息论原理概论attilax总结
- Atitit.识别损坏的图像
- 算法导论第七章思考题7-5三数取中划分 -c++
- Atitit 三论”(系统论、控制论、信息论
- 剑指Offer 37题 两个链表的第一个公共节点 Java版
- rapid-generator4.06 JAVA代码生成器配置,模板自定义
- 剑指Offer 40题 数组中只出现一次的数字 Java版
- 剑指Offer 40题扩展 其他数字出现3次 找出只出现一次的那个 Java实现
- 剑指Offer 41题 和为s的两个数字VS 何为S的连续正数序列 Java版
- Leetcode 160. Intersection of Two Linked Lists/CC150 2.7
- 在mac上使用VS Code编写C#应用程序
- AJAX学习一
- Leetcode 285. Inorder Successor in BST
- AJAX学习二