MyBatis Plus 代码生成器 Enjoy引擎配置,至于模板代码自己照着代码beetl或者freemarker的写就行
继承抽象类 AbstractTemplateEngine 实现方法即可 参考Beetl的模板配置:com.baomidou.mybatisplus.generator.engine.BeetlTemplateEngine
// package top.seasmall.platform.modules.dev.codegen; // your package path
import com.baomidou.mybatisplus.generator.config.builder.ConfigBuilder;
import com.baomidou.mybatisplus.generator.engine.AbstractTemplateEngine;
import com.jfinal.template.Engine;
import java.io.FileOutputStream;
import java.util.Map;
/**
* Enjoy模板引擎实现文件输出
*
* @author liming
* @date 2019-12-17 10:32
*/
public class EnjoyTemplateEngine extends AbstractTemplateEngine {
private Engine enjoyEngine;
/**
* 模板后缀
*/
private String templateSuffix = ".etl";
public EnjoyTemplateEngine() {
}
public EnjoyTemplateEngine(String templateSuffix) {
this.templateSuffix = templateSuffix;
}
@Override
public AbstractTemplateEngine init(ConfigBuilder configBuilder) {
super.init(configBuilder);
if (enjoyEngine == null) {
enjoyEngine = Engine.use();
}
return this;
}
@Override
public void writer(Map<String, Object> objectMap, String templatePath, String outputFile) throws Exception {
try (FileOutputStream fileOutputStream = new FileOutputStream(outputFile)) {
enjoyEngine.getTemplate(templatePath).render(objectMap, fileOutputStream);
}
logger.debug("模板:" + templatePath + "; 文件:" + outputFile);
}
@Override
public String templateFilePath(String filePath) {
return filePath + templateSuffix;
}
}
使用:
// 省略代码...
// mpg.setStrategy(strategy); // 生成配置
mpg.setTemplateEngine(new EnjoyTemplateEngine(".html")); // 设置使用enjoy模板引擎并指定后缀为.html
// mpg.execute(); // 执行生成