import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.generator.engine.VelocityTemplateEngine;
import java.util.Collections;
import java.util.Scanner;
/**
* mybatis-plus代码生成器
*
* @author 韩朝阳
* @date 2020-04-27
*/
public class AutoGeneratorUtil {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("按回车键继续");
scanner.nextLine();
// 代码生成器
new AutoGenerator()
.setGlobalConfig(
// 全局配置
new GlobalConfig()
.setOutputDir(System.getProperty("user.dir") + "/src/main/java")
.setAuthor("韩朝阳")
.setOpen(false)
.setBaseResultMap(true)
.setBaseColumnList(true)
.setServiceName("%sService")
)
.setDataSource(
// 数据源配置
new DataSourceConfig()
.setDbType(DbType.MYSQL)
.setUrl("jdbc:mysql://localhost:3306/xxx?userSSL=false&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT")
.setDriverName("com.mysql.cj.jdbc.Driver")
.setUsername("xxx")
.setPassword("xxx")
)
.setPackageInfo(
// 包配置
new PackageConfig()
.setParent("com.hanchaoyang.demo")
)
.setTemplate(
// 模板配置
new TemplateConfig()
.setXml(null)
)
.setStrategy(
// 策略配置
new StrategyConfig()
.setNaming(NamingStrategy.underline_to_camel)
.setColumnNaming(NamingStrategy.underline_to_camel)
.setEntityLombokModel(true)
.setRestControllerStyle(true)
// 在这里设置要生成的表, 注释掉该行后全部生成
.setInclude(new String[]{"xxx", "xxx", "xxx"})
.setControllerMappingHyphenStyle(true)
.setVersionFieldName("version")
)
.setTemplateEngine(
// 模板引擎配置
new VelocityTemplateEngine()
)
.setCfg(
// 自定义配置
new InjectionConfig() {
@Override
public void initMap() {
}
}.setFileOutConfigList(Collections.singletonList(
new FileOutConfig("/templates/mapper.xml.vm") {
@Override
public String outputFile(TableInfo tableInfo) {
return System.getProperty("user.dir") + "/src/main/resources/mapper/"
+ tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML;
}
}))
).execute();
}
}
[原创] Mybatis-Plus代码生成器
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。