JAvaコードジェネレータ|ツールクラス

6946 ワード

package com.finance.utils;

import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert;
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
import com.baomidou.mybatisplus.generator.config.rules.DbType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 

* *

* @author WangHao */ public class MpGenerator { /** *

* MySQL *

* main main , ( main ) */ public static void main(String[] args) { AutoGenerator mpg = new AutoGenerator(); // freemarker , Veloctiy // mpg.setTemplateEngine(new FreemarkerTemplateEngine()); // GlobalConfig gc = new GlobalConfig(); gc.setOutputDir("E:/MpGenerator/"); gc.setFileOverride(true); gc.setActiveRecord(true);// ActiveRecord false gc.setEnableCache(false);// XML gc.setBaseResultMap(true);// XML ResultMap gc.setBaseColumnList(false);// XML columList // .setKotlin(true) kotlin gc.setAuthor("WangHao"); // , %s !-- // gc.setMapperName("%sDao"); // gc.setXmlName("%sDao"); // gc.setServiceName("MP%sService"); // gc.setServiceImplName("%sServiceDiy"); // gc.setControllerName("%sAction"); mpg.setGlobalConfig(gc); // DataSourceConfig dsc = new DataSourceConfig(); // dsc.setDbType(DbType.MYSQL); dsc.setDbType(DbType.SQL_SERVER); dsc.setTypeConvert(new MySqlTypeConvert(){ // 【 】 @Override public DbColumnType processTypeConvert(String fieldType) { System.out.println(" :" + fieldType); // !!processTypeConvert , 、 。 return super.processTypeConvert(fieldType); } }); // dsc.setDriverName("com.mysql.jdbc.Driver"); dsc.setDriverName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); /* dsc.setUsername("sc"); dsc.setPassword("Djyt17877"); dsc.setUrl("jdbc:mysql://rm-uf64z8oz61r13j1142o.mysql.rds.aliyuncs.com:3306/skate_shopping?useUnicode=true&characterEncoding=utf8"); */ dsc.setUsername("web_test"); dsc.setPassword("9158com"); dsc.setUrl("jdbc:sqlserver://61.164.160.85:3434;DatabaseName=FinanceTiange3"); mpg.setDataSource(dsc); // StrategyConfig strategy = new StrategyConfig(); //strategy.setCapitalMode(true);// ORACLE ORACLE / , // strategy.setTablePrefix(new String[] { "f_"});// , , , strategy.setNaming(NamingStrategy.underline_to_camel);// , //strategy.setInclude(new String[]{"t_order", "t_order_detail"}); // strategy.setInclude(new String[] { "PhoneCodeRecord" }); // strategy.setExclude(new String[]{"test"}); // // // strategy.setSuperEntityClass("com.baomidou.demo.TestEntity"); // , // strategy.setSuperEntityColumns(new String[] { "test_id", "age" }); // mapper // strategy.setSuperMapperClass("com.baomidou.demo.TestMapper"); // service // strategy.setSuperServiceClass("com.baomidou.demo.TestService"); // service // strategy.setSuperServiceImplClass("com.baomidou.demo.TestServiceImpl"); // controller // strategy.setSuperControllerClass("com.baomidou.demo.TestController"); // 【 】 ( false) // public static final String ID = "test_id"; strategy.setEntityColumnConstant(true); // 【 】 ( false) set , // public User setName(String name) {this.name = name; return this;} strategy.setEntityBuilderModel(true); mpg.setStrategy(strategy); // PackageConfig pc = new PackageConfig(); pc.setParent("com"); pc.setModuleName("finance"); mpg.setPackageInfo(pc); // , VM cfg.abc 【 】 InjectionConfig cfg = new InjectionConfig() { @Override public void initMap() { Map map = new HashMap(); map.put("abc", this.getConfig().getGlobalConfig().getAuthor() + "-mp"); this.setMap(map); } }; // xxList.jsp List focList = new ArrayList(); //jsp /* focList.add(new FileOutConfig("/template/list.jsp.vm") { @Override public String outputFile(TableInfo tableInfo) { // return "D://my_" + tableInfo.getEntityName() + ".jsp"; } }); cfg.setFileOutConfigList(focList); mpg.setCfg(cfg);*/ // xml xml mapper focList.add(new FileOutConfig("/templates/mapper.xml.vm") { @Override public String outputFile(TableInfo tableInfo) { return "E:/MpGenerator/" + tableInfo.getEntityName() + "Mapper.xml"; } }); cfg.setFileOutConfigList(focList); mpg.setCfg(cfg); // xml , TemplateConfig tc = new TemplateConfig(); tc.setXml(null); mpg.setTemplate(tc); // , copy mybatis-plus/src/main/resources/templates , // src/main/resources/templates , , // TemplateConfig tc = new TemplateConfig(); // tc.setController("..."); // tc.setEntity("..."); // tc.setMapper("..."); // tc.setXml("..."); // tc.setService("..."); // tc.setServiceImpl("..."); // OR Null 。 // mpg.setTemplate(tc); // mpg.execute(); // 【 】 System.err.println(mpg.getCfg().getMap().get("abc")); } }