代码生成器mybatisplus
2021/9/24 6:11:05
本文主要是介绍代码生成器mybatisplus,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
package com.qfedu.springboot.ssm; import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException; 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.TableFill; import com.baomidou.mybatisplus.generator.config.po.TableInfo; import com.baomidou.mybatisplus.generator.config.rules.DateType; import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine; import org.junit.platform.commons.util.StringUtils; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class KuangCode { public static String scanner(String tip) { Scanner scanner = new Scanner(System.in); StringBuilder help = new StringBuilder(); help.append("请输入" + tip + ":"); System.out.println(help.toString()); if (scanner.hasNext()) { String ipt = scanner.next(); if (StringUtils.isNotBlank(ipt)) { return ipt; } } throw new MybatisPlusException("请输入正确的" + tip + "!"); } public static void main(String[] args) { AutoGenerator mpg = new AutoGenerator(); GlobalConfig gc = new GlobalConfig(); String projectPath = System.getProperty("user.dir"); // Object property = System.getProperty("user.dir"); gc.setOutputDir(projectPath + "/src/main/java"); gc.setOutputDir(projectPath + "/src/main/java"); gc.setAuthor("aaa"); gc.setOpen(false); gc.setFileOverride(false); // gc.setServiceName("%sService"); gc.setIdType(IdType.AUTO); gc.setDateType(DateType.ONLY_DATE); gc.setSwagger2(true); // gc.setSwagger2(true); 实体属性 Swagger2 注解 mpg.setGlobalConfig(gc); // 数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setUrl("jdbc:mysql://localhost:3306/test?characterEncoding=utf-8&serverTimezone=UTC"); // dsc.setSchemaName("public"); dsc.setDriverName("com.mysql.jdbc.Driver"); dsc.setUsername("root"); dsc.setPassword("root"); dsc.setDbType(DbType.MYSQL); mpg.setDataSource(dsc); // 包配置 PackageConfig pc = new PackageConfig(); // pc.setModuleName(scanner("blog")); pc.setParent("com.qfedu.springboot.ssm"); pc.setEntity("entity"); pc.setMapper("mapper"); pc.setService("service"); pc.setController("controller"); mpg.setPackageInfo(pc); // 策略配置 StrategyConfig strategy = new StrategyConfig(); strategy.setInclude("book"); strategy.setNaming(NamingStrategy.underline_to_camel); strategy.setColumnNaming(NamingStrategy.underline_to_camel); strategy.setEntityLombokModel(true); strategy.setRestControllerStyle(true); // strategy.setLogicDeleteFieldName("deleted"); // TableFill gmtCreate = new TableFill("gmt_crate", FieldFill.INSERT); // TableFill gmtModified = new TableFill("gmt_crate", FieldFill.INSERT_UPDATE); // ArrayList<TableFill> tableFills = new ArrayList<>(); // tableFills.add(gmtCreate); // tableFills.add(gmtModified); // strategy.setTableFillList(tableFills); // strategy.setVersionFieldName("version"); mpg.setStrategy(strategy); // 公共父类 // strategy.setSuperControllerClass("你自己的父类控制器,没有就不用设置!"); // // 写于父类中的公共字段 // strategy.setSuperEntityColumns("id"); // strategy.setInclude(scanner("表名,多个英文逗号分割").split(",")); // strategy.setControllerMappingHyphenStyle(true); // strategy.setTablePrefix(pc.getModuleName() + "_"); // mpg.setStrategy(strategy); // // // // 自定义配置 // InjectionConfig cfg = new InjectionConfig() { // @Override // public void initMap() { // // to do nothing // } // }; // // // 如果模板引擎是 freemarker // String templatePath = "/templates/mapper.xml.ftl"; // // 如果模板引擎是 velocity // // String templatePath = "/templates/mapper.xml.vm"; // // // 自定义输出配置 // List<FileOutConfig> focList = new ArrayList<>(); // // 自定义配置会被优先输出 // focList.add(new FileOutConfig(templatePath) { // @Override // public String outputFile(TableInfo tableInfo) { // // 自定义输出文件名 , 如果你 Entity 设置了前后缀、此处注意 xml 的名称会跟着发生变化!! // return projectPath + "/src/main/resources/mapper/" + pc.getModuleName() // + "/" + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML; // } // }); // // cfg.setFileOutConfigList(focList); // mpg.setCfg(cfg); // TemplateConfig templateConfig = new TemplateConfig(); // templateConfig.setXml(null); // mpg.setTemplate(templateConfig); // // // mpg.setTemplateEngine(new FreemarkerTemplateEngine()); mpg.execute(); } }
这篇关于代码生成器mybatisplus的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26JAVA语音识别项目资料的收集与应用
- 2024-11-26Java语音识别项目资料:入门级教程与实战指南
- 2024-11-26SpringAI:Java 开发的智能新利器
- 2024-11-26Java云原生资料:新手入门教程与实战指南
- 2024-11-26JAVA云原生资料入门教程
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程
- 2024-11-26Springboot单体架构搭建资料:新手入门教程