myBatis plus 去除生成 controller
1.背景
很多时候我们使用mybatis-plus主要是生成对象模型,mapper文件,不需要controller和service,
那应该怎么办呢,很简单,设置为空字符串就可以了
// 不生成controller
templateConfig.setController("");
// 不生成service
templateConfig.setService("");
templateConfig.setServiceImpl("");
完整构建代码如下
2.代码
package com.XXX.mybatisGenerate; import com.baomidou.mybatisplus.generator.AutoGenerator; import com.baomidou.mybatisplus.generator.InjectionConfig; import com.baomidou.mybatisplus.generator.config.*; import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine; import java.util.ArrayList; import java.util.List; /** * @Copyright (C) XXX科技股份技有限公司 * @Author: lidp * @Date: 2022-10-17 15:46 * @Description: <!-- 引入mybatis-plus 包--> * <dependency> * <groupId>com.baomidou</groupId> * <artifactId>mybatis-plus-boot-starter</artifactId> * <version>3.0-RELEASE</version> * </dependency> */ public class CodeGenerator { // 数据库链接信息 private static String author = "codeGenerator"; private static String url = "jdbc:oracle:thin:@192.168.1.1:1521:orcl136"; private static String driverName = "oracle.jdbc.OracleDriver"; private static String username = "XXXX"; private static String password = "123456"; // 包名 private static String parent = "com.XXX"; // 模块名称 private static String moduleName = "demo"; // 构建的表名,多个使用英文逗号隔开 private static String tableName = "TR_COMPLAINT_XXXX"; // 是否构建controller private static boolean haveController = true; // 是否构建service private static boolean haveService = true; /** * 构建代码入口 * * @param args */ public static void main(String[] args) { // 代码生成器 AutoGenerator mpg = new AutoGenerator(); // 全局配置 GlobalConfig gc = new GlobalConfig(); String projectPath = System.getProperty("user.dir"); gc.setOutputDir(projectPath + "/src/main/java"); gc.setAuthor(author); gc.setOpen(false); mpg.setGlobalConfig(gc); // 数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setUrl(url); dsc.setDriverName(driverName); dsc.setUsername(username); dsc.setPassword(password); mpg.setDataSource(dsc); // 包配置 PackageConfig pc = new PackageConfig(); pc.setModuleName(moduleName); pc.setParent(parent); mpg.setPackageInfo(pc); // 自定义配置 InjectionConfig cfg = new InjectionConfig() { @Override public void initMap() { // to do nothing } }; // 自定义输出配置 List<FileOutConfig> focList = new ArrayList<>(); cfg.setFileOutConfigList(focList); mpg.setCfg(cfg); // 配置模板 TemplateConfig templateConfig = new TemplateConfig(); templateConfig.setXml(null); mpg.setTemplate(templateConfig); if (!haveController) { // 不生成controller templateConfig.setController(""); } if (haveService) { // 不生成controller templateConfig.setController(""); // 不生成service templateConfig.setService(""); templateConfig.setServiceImpl(""); } // 策略配置 StrategyConfig strategy = new StrategyConfig(); strategy.setNaming(NamingStrategy.underline_to_camel); strategy.setColumnNaming(NamingStrategy.underline_to_camel); strategy.setEntityLombokModel(true); strategy.setRestControllerStyle(true); strategy.setInclude(tableName.split(",")); strategy.setControllerMappingHyphenStyle(true); mpg.setStrategy(strategy); mpg.setTemplateEngine(new FreemarkerTemplateEngine()); mpg.execute(); } }