kungfu 代码生成调用示例

package org.plus.code;

import javax.sql.DataSource;

import org.kungfu.core.Config;
import org.kungfu.generator.GeneratorClient;

import com.jfinal.kit.PathKit;
import com.jfinal.kit.PropKit;
import com.jfinal.plugin.c3p0.C3p0Plugin;

public class CodeGenerator {
	
	public static DataSource getDataSource() {
		PropKit.use("config.properties");
		C3p0Plugin c3p0Plugin = Config.createC3p0Plugin(PropKit.get("jdbcUrl"), PropKit.get("user"), PropKit.get("password").trim());
		c3p0Plugin.start();
		return c3p0Plugin.getDataSource();
	}
	
	public static void main(String[] args) {
		// base model 所使用的包名
		String baseModelPackageName = "org.plus.module";
		// base model 文件保存路径
		String baseModelOutputDir = PathKit.getWebRootPath() + "/src/main/java/org/plus/module";
		//String baseModelOutputDir = PathKit.getWebRootPath() + "/src/main/webapp/target/demo/src/main/java/org/alien/de/module";
		// model 所使用的包名 (MappingKit 默认使用的包名)
		String modelPackageName = "org.plus.module";
		//web pages存放路径
		String webPageOutputDir = PathKit.getWebRootPath() + "/src/main/webapp/module";
		
		GeneratorClient.generator(getDataSource(), baseModelPackageName, baseModelOutputDir, modelPackageName, webPageOutputDir, null, null);
	}

}

注:生产器源码

https://github.com/ticktack/kungfu/tree/master/src/main/java/org/kungfu/generator


代码生成器变种

基于jfinal源码中的generator进行改造和增强。其中包括:
1.BaseModel 和Model 生成路径做了调整;
2.新增了API/Service/Controller/WebPage等代码生成功能,基于前端Web框架BJUI(根据需要可以灵活修改,如前端采用react,vue.js,artTemplate,freemarker等)

3.封装了基本的数据CRUD操作。基本可以达到生成即可运行。

需要改进点:
1.前端组件的丰富程度不够,目前只有文本框、文本区、日期时间空间、单选按钮。后续继续完善。
2.抽象现有代码生成,做成可配置化,支持更多前端框架;
3.抽象封装更多后台服务。
4.支持界面配置、生成、预览等功能。需另起项目开发。


评论区

defier

2016-07-28 10:15

小飞象兄弟,你QQ多少,咱们深入讨论下 kungfu

小飞象

2016-07-28 11:32

@defier jfinal群里面搜小飞象

热门分享

扫码入社