MapperXmlGenerator.java 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package com.izouma.codegenerator;
  2. import com.izouma.awesomeadmin.model.GenCode;
  3. import org.apache.log4j.Logger;
  4. import org.apache.velocity.Template;
  5. import org.apache.velocity.VelocityContext;
  6. import org.apache.velocity.app.Velocity;
  7. import org.apache.velocity.tools.ToolManager;
  8. import org.hibernate.validator.internal.util.privilegedactions.GetResource;
  9. import java.io.*;
  10. import java.nio.file.Files;
  11. import java.nio.file.Path;
  12. import java.nio.file.Paths;
  13. import java.util.*;
  14. public class MapperXmlGenerator {
  15. private static final Logger LOGGER = Logger.getLogger(MapperXmlGenerator.class);
  16. public static void GenXml(GenCode model) {
  17. try {
  18. List<String> imports = new ArrayList<>();
  19. ToolManager manager = new ToolManager(true, true);
  20. VelocityContext context = new VelocityContext(manager.createContext());
  21. context.put("imports", imports);
  22. context.put("model", model);
  23. String templateName = "MapperXmlTemplate.vm";
  24. if ("SqlServer".equals(model.getDataBaseType())) {
  25. templateName = "MapperXmlSqlServerTemplate.vm";
  26. }
  27. Template t = Velocity.getTemplate(templateName);
  28. Path targetFile = Paths.get(model.getJavaPath(), "dao", model.getClassName() + "Mapper.xml").toAbsolutePath();
  29. GeneratorTool.merge(targetFile, context, t, model.getUpdate());
  30. LOGGER.info("成功生成MapperXml:" + targetFile.toString());
  31. } catch (Exception e) {
  32. LOGGER.error(e);
  33. }
  34. }
  35. }