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
com.googlecode.rapid-framework
rapid-generator
4.0.6
mysql
mysql-connector-java
5.1.34
org.freemarker
freemarker
2.3.16
com.h2database
h2
1.2.135
com.googlecode.rapid-framework
rapid-generator-ext
4.0.6
com.googlecode.rapid-framework
rapid-generator-template
4.0.6
junit
junit
3.8.1
test
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.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
generator.xml 放在template文件夹内了
代码生成器配置文件:
1.会为所有的property生成property_dir属性,如pkg=com.company => pkg_dir=com/company
2.可以引用环境变量: ${env.JAVA_HOME} or System.properties: ${user.home},property之间也可以相互引用
com.minarea
pages
\generator-output
root
root
java.util.Date
java.util.Date
java.util.Date
Integer
Integer
Long
jdbc:mysql://localhost:3306/bangbang?useUnicode=true&characterEncoding=UTF-8
com.mysql.jdbc.Driver
template 文件夹的公共文件: 来自 rapid-generator-template-4.0.6 下的这5个文件.