package com.izouma.codegenerator; import com.izouma.awesomeadmin.model.GenCode; import org.apache.log4j.Logger; import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.Velocity; import org.apache.velocity.tools.ToolManager; import org.hibernate.validator.internal.util.privilegedactions.GetResource; import java.io.*; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.*; public class MapperXmlGenerator { private static final Logger LOGGER = Logger.getLogger(MapperXmlGenerator.class); public static void GenXml(GenCode model) { try { List imports = new ArrayList<>(); ToolManager manager = new ToolManager(true, true); VelocityContext context = new VelocityContext(manager.createContext()); context.put("imports", imports); context.put("model", model); String templateName = "MapperXmlTemplate.vm"; if ("SqlServer".equals(model.getDataBaseType())) { templateName = "MapperXmlSqlServerTemplate.vm"; } Template t = Velocity.getTemplate(templateName); Path targetFile = Paths.get(model.getJavaPath(), "dao", model.getClassName() + "Mapper.xml").toAbsolutePath(); GeneratorTool.merge(targetFile, context, t, model.getUpdate()); LOGGER.info("成功生成MapperXml:" + targetFile.toString()); } catch (Exception e) { LOGGER.error(e); } } }