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(); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
2020-10-17 vue之v-model表单绑定
2020-10-17 vue之循环遍历v-for
2020-10-17 vue之条件判断v-if与v-show