mybatis-plus代码生成器

mybatis-plus代码生成器详细教程与代码 mybatis-plus代码生成器是一个工具类,它可以根据数据库表的结构,自动创建对应的实体类、mapper接口、mapper.xml文件、service接口和controller类。这样可以节省开发者的时间和精力,避免重复的编码工作。mybatis-plus代码生成器的使用步骤如下: 阅读详情

传送门:mybatis-plus官网

进入官网后找到“代码生成器(新)”。把里边的代码copy一下,在下边有个配置 ,可以自定义相关的配置。

传送门:代码生成器配置新
在这里插入图片描述

首先导入相关依赖

 <!--代码生成器所需要的依赖-->
 <dependency>
     <groupId>com.baomidou</groupId>
     <artifactId>mybatis-plus-generator</artifactId>
     <version>3.5.3.1</version>
 </dependency>
 <!-- https://mvnrepository.com/artifact/org.apache.velocity/velocity -->
 <dependency>
     <groupId>org.apache.velocity</groupId>
     <artifactId>velocity</artifactId>
     <version>1.7</version>
 </dependency>

然后你可以自定义生成的模板,比如controller的。
在这里插入图片描述

模板的代码

package ${package.Controller};

//自定义要导入的包
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;

import com.zkw.common.Result;
import ${package.Service}.${table.serviceName};
import ${package.Entity}.${entity};


#if(${restControllerStyle})
import org.springframework.web.bind.annotation.RestController;
#else
import org.springframework.stereotype.Controller;
#end
#if(${superControllerClassPackage})
import ${superControllerClassPackage};
#end

/**
 * <p>
 * $!{table.comment} 前端控制器
 * </p>
 *
 * @author ${author}
 * @since ${date}
 */
#if(${restControllerStyle})
@RestController
#else
@Controller
#end
@RequestMapping("#if(${package.ModuleName})/${package.ModuleName}#end/#if(${controllerMappingHyphenStyle})${controllerMappingHyphen}#else${table.entityPath}#end")
#if(${kotlin})
class ${table.controllerName}#if(${superControllerClass}) : ${superControllerClass}()#end

#else
#if(${superControllerClass})
public class ${table.controllerName} extends ${superControllerClass} {
#else
public class ${table.controllerName} {
#end

	//导入的代码模板
	
    @Resource
    private ${table.serviceName} ${table.entityPath}Service;

    /**
    * 新增或更新
    */
    @PostMapping
    public Result save(@RequestBody ${entity} ${table.entityPath}) {
        ${table.entityPath}Service.saveOrUpdate(${table.entityPath});
        return Result.success();
    }

    /**
    * 删除
    */
    @DeleteMapping("/{id}")
    public Result delete(@PathVariable Integer id) {
        ${table.entityPath}Service.removeById(id);
        return Result.success();
    }

    /**
    * 批量删除
    */
    @PostMapping("/del/batch")
    public Result delBatch(@RequestBody List<Integer> ids){
        return Result.success(${table.entityPath}Service.removeByIds(ids));
    }

    /**
    * 查询所有用户
    */
    @GetMapping("/all")
    public Result findAll() {
        return  Result.success(${table.entityPath}Service.list());
    }

    /**
    * 根据id查询用户
    */
    @GetMapping("/{id}")
    public Result findOne(@PathVariable Integer id) {
        return Result.success(${table.entityPath}Service.getById(id));
    }

    /**
    * 分页查询
    */
    @GetMapping("/page")
    public Result findPage(@RequestParam Integer pageNum,
                            @RequestParam Integer pageSize) {
        QueryWrapper<${entity}> queryWrapper = new QueryWrapper<${entity}>();
        queryWrapper.orderByDesc("id");
        return Result.success(${table.entityPath}Service.page(new Page<>(pageNum, pageSize),queryWrapper));
    }
}
#end

配置代码,然后运行这个就可以了,就能直接生成controlle,service,serviceImpl,mapper,mapper.xml,entity

package com.zkw.utils;

import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;

import java.sql.Types;
import java.util.Collections;

/**
 * 代码生成器
 */

public class CodeGenerator {
    public static void main(String[] args) {
        generator();
    }

    private static void generator(){
        FastAutoGenerator.create("jdbc:mysql://localhost:3306/customer?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC", "root", "123456")
                .globalConfig(builder -> {
                    builder.author("zkw") // 设置作者
                            .enableSwagger() // 开启 swagger 模式
                            .fileOverride() // 覆盖已生成文件
                            .outputDir("D:\\ZkwJavaStudy\\SpringBootProject\\manage\\src\\main\\java\\"); // 指定输出目录
                })
                .dataSourceConfig(builder -> builder.typeConvertHandler((globalConfig, typeRegistry, metaInfo) -> {
                    int typeCode = metaInfo.getJdbcType().TYPE_CODE;
                    if (typeCode == Types.SMALLINT) {
                        // 自定义类型转换
                        return DbColumnType.INTEGER;
                    }
                    return typeRegistry.getColumnType(metaInfo);

                }))
                .packageConfig(builder -> {
                    builder.parent("com.zkw") // 设置父包名
                            .moduleName(null) // 设置父包模块名
                            .pathInfo(Collections.singletonMap(OutputFile.xml, "D:\\ZkwJavaStudy\\SpringBootProject\\manage\\src\\main\\resources\\mapper\\")); // 设置mapperXml生成路径
                })
                .strategyConfig(builder -> {
                    builder.addInclude("sys_course") // 设置需要生成的表名,每次只需要改这个表就可以了
                            .addTablePrefix("sys_", "c_")// 设置过滤表前缀
                            .entityBuilder().enableLombok() //添加lombok 注解
                            .controllerBuilder().enableHyphenStyle().enableRestStyle(); //开启controller的驼峰 并 添加RestController
                })
             //   .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
                .execute();
    }
}
《MyBatis-Plus 代码生成器基础入门》 MyBatis-Plus 是一个 MyBatis 的增强工具,旨在简化开发、提高效率。它在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。MyBatis-Plus 提供了代码生成器功能,可以快速地根据数据库表结构生成 Entity(实体类)、Mapper(映射器接口)、Service(服务层接口及其实现)、Controller(控制层)等代码文件。 阅读详情

相关推荐

MyBatis-plus框架代码生成器的实用指南

MyBatis-plus代码生成器作为一种提高开发效率的工具,自诞生之初就以简化繁琐的代码编写流程为目标。它基于MyBatis框架扩展而来,针对传统数据库操作的重复性问题提供了更优雅的解决方案。通过结合Java的泛型、注解特性,MyBatis-plus代码生成器可以自动生成标准的Model、Mapper、Service、Controller等代码模板,大大减少了手动编码的工作量。

weixin_36289742的博客 823

Mybatis-plus-代码生成器-官网学习

Mybatis-plus -- 快速入门简介特性功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 简介 mybatis和mybatis-plus之间有什么区别?首先mybatis-plus只是在mybatis的基础上只做增加没有做修

weixin_42517021的博客 6476

Latex参考文献中大写字母编译后自动变成了小写,如何保持原字母大写形式

bib文件参考文献中大写自动变为小写,如何保持原大写问题。Latex: 保持参考文献大小写,overleaf文献编译后,原大写字母自动变成了小写字母,如何保持原字母大写

我的个人博客 5805

MyBatis-Plus代码生成器(新)使用

如何一键实现springboot基础代码完全实现,一篇文章给你参考,提高开发效率!

Young_深情不及里子的博客 2万+

FairyGUI深度解析:Unity复杂UI开发的高效解决方案与性能优化

在Unity游戏和应用开发中,UI系统的性能与开发效率是核心挑战。原生UGUI的组件化模型在应对复杂、动态界面时,常面临Draw Call过高、层级管理臃肿的问题。其原理在于,每个UI元素对应一个GameObject,渲染合批受限于Transform层级与材质状态,易导致性能瓶颈。FairyGUI(FGUI)作为一种专业的第三方UI解决方案,其技术价值在于采用了截然不同的“舞台-显示对象”渲染模型。该模型通过内部轻量级对象管理与自主合批系统,实现了极高的运行时效率与Draw Call优化。在应用场景上,FG

weixin_31315567的博客 341

微信小程序网关逆向分析:从协议、签名到会话管理的安全架构剖析

在现代Web与移动应用开发中,API网关作为客户端与后端服务之间的关键通信枢纽,承担着协议转换、流量调度、安全防护与性能优化等核心职责。其工作原理通常涉及统一的请求路由、身份认证、参数校验与响应聚合。从技术价值看,深入理解网关机制不仅能帮助开发者构建更健壮、可扩展的微服务架构,还能为安全评估、性能调优与故障排查提供基础。在移动生态如微信小程序中,网关设计尤为关键,它需要处理微信特有的登录态、数据加密与防重放攻击等安全需求。本文聚焦于微信小程序网关的逆向分析方法,通过结合网络抓包与代码反编译技术,深入解析其通

weixin_29323493的博客 442

MyBatis-Plus——代码自动生成器

通俗易懂地讲解MyBatis-Plus的代码自动生成器的搭建,认识MyBatis-Plus的高效性,以及讲解Service层接口的CRUD。

一心同学的博客 7万+

GEE案例:计算区域生态总体脆弱性分析

计算区域生态总体脆弱性分析需要考虑多个指标和因素。下面是一个基本的方法:选择指标:选择一组能够反映区域生态系统脆弱性的指标。这些指标可以包括生物多样性指数、森林覆盖率、湿地保护率、土地退化程度等。为每个指标分配权重:为了使得各指标在计算中的重要性相对均衡,可以为每个指标分配一个权重。权重可以根据各指标的重要性和可利用的数据进行确定。数据收集和处理:收集每个指标的数据,并对其进行处理,确保数据的准确性和一致性。如果有需要,可以对数据进行归一化处理。计算指标值:根据收集的数据和权重,计算每个指标的值。

此星光明博客 466

MyBatis-Plus代码生成器

实体类:对应数据库表的 Java 实体类。Mapper 接口:用于数据库访问的 Mapper 接口。Mapper XML:与 Mapper 接口对应的 SQL 映射文件(可选)。Service 和 ServiceImpl:业务逻辑层的接口和实现类。Controller:处理 HTTP 请求的控制层代码(可选)。通过代码生成器,开发者只需要配置好数据库连接和表名等信息,即可自动生成一套基础的代码结构,节省大量重复性工作。可以通过方法指定代码生成的输出路径。

Flying_Fish_roe的博客 7058

全网首发--Unet3+改进16:在不同位置添加RepLKBlock超大卷积核

本文提出了一种基于大核卷积的神经网络架构RepLKNet,旨在缩小CNN与ViTs之间的性能差距。通过重新审视CNN中的大核设计,研究证明使用少量大卷积核替代多个小核能获得更强大的性能。提出的RepLKNet采用31×31大卷积核,在ImageNet和下游任务上取得了与SwinTransformer相当或更好的结果,同时具有更低延迟。文章详细介绍了实现步骤:(1)创建RepLKBlock模块文件;(2)在模型层中添加注意力机制;(3)在UNet模型中集成RepLKBlock;(4)完成训练流程。该方法展现了

AIcurator的博客 617

在 SAP ABAP 生态中偏爱面向对象,而不是过程式堆叠

本文探讨了ABAP开发中过程式与面向对象编程的共存现状及优化方向。文章指出,虽然过程式编程在ABAP中仍广泛存在,但随着业务复杂度提升,面向对象编程在可维护性、可测试性和重构便利性方面展现出明显优势。作者建议将过程式代码作为"适配层",仅负责输入输出转换,而将核心业务逻辑封装在类中。文章通过实际案例展示了这种架构如何提高交付效率,并提供了将Function Module转化为"薄包装"的具体实现方案,强调面向对象设计在SAP Gateway和RAP等现代架构中的重要性

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 136

若依 MyBatis改为MyBatis-Plus并修改代码生成器

将若依的前后端分离版升级为Mybatis-Plus,同时修改代码生成器

weixin_50531218的博客 5832

Java语音革命:用代码打造永不疲倦的AI客服,让客户支持效率飙升300%!

客户支持领域常面临“薛定谔困境”,即无法预知客户来电的意图是投诉还是表扬。通过Java技术,尤其是语音识别和自然语言处理(NLP),可以有效解决这一问题。文章展示了如何利用Java代码构建“声纹量子引擎”,实现客户支持的自动化。核心技术包括录音与预处理、语音识别和语义理解。通过百度AI API和Stanford NLP,系统能够快速、准确地识别客户语音并理解其意图。数据表明,优化后的AI处理时间从15分钟缩短至18秒,语音识别准确率提升至98.5%,并发处理能力达到单实例1000+请求。这些技术显著提升了客

墨夶的博客 1034

MyBatis-Plus 的代码生成器模板

MyBatis-Plus 的代码生成器 package com.util; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException; import com.baomidou.mybatisplus...

JiaWei 3658

LangGraph实战训练营-打造 WhatsApp 全自动消息收发AI智能助手

本文系统梳理了项目架构(WhatsApp Bridge + Talon Host + LangGraph Agent Harness三层设计)、完整环境搭建流程(Docker/本地双模式部署)、核心原理(WhatsApp桥接机制、NVIDIA Parakeet语音转录管线、Cron定时调度、Agent图状状态机),并提供了基础对话、文件操作、语音处理、定时任务等六大实战示例。同时涵盖安全策略、性能优化、数据备份等生产级运维实践,以及十个高频问题的排查方案。

program哲学 191

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

MyBatis-Plus 代码生成器常见配置详解

/ 全局配置//当前项目名globalConfig.setAuthor("你的名字");是返回程序运行时所在的目录路径,一般是启动应用程序的目录,如图:user.dir是一种固定的用法,类似的还有,System.out.println("System.getProperty(\"user.home\")结果返回当前用户的主目录路径:"+outputDir);

Ta20220617的博客 1589

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

MyBatis-Plus 代码生成器

在目录下创建对应模板文件(如用于实体类);通过配置自定义模板路径:.templateConfig(builder -> {builder.entity("/templates/entity.java.vm") // 自定义实体类模板// 自定义Mapper模板})MyBatis-Plus 代码生成器通过简单配置即可生成全套开发代码,彻底告别手动编写模板代码的繁琐。其灵活的配置项支持自定义包结构、命名规则和模板,能适配不同项目的规范。

2302_79926174的博客 1310

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Mybatis-Plus代码生成器

Mybatis-Plus代码生成器 // Copyright 2016-2101 Pica. package com.pica.cloud.commercialization.crrs.generator; import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.generator.Au...

@龙猫的博客 7170

mybatis-plus代码自动生成器

1.1 概述 Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,是国人在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。这是官方给的定义,关于mybatis-plus的更多介绍及特性,可以参考mybatis-plus官网。那么它是怎么增强的呢?其实就是它已经封装好了一些crud方法,我们不需要再写xml了,直接调用这些方法就行,就类似于JPA。为什么要学习它呢?MyBatisPlus可以节省我们大量工作时间,所有的CRUD代码它都可以自动化完成!说白了就是为了程

weixin_44541136的博客 9526

MyBatis Plus 代码生成器

strategy.setInclude(scanner("表名,多个英文逗号分割").split(","));throw new MybatisPlusException("请输入正确的" + tip + "!// 不生成默认的XML。help.append("请输入" + tip + ":");│ ├── service/impl # Service实现类。│ ├── service/ # Service接口。│ ├── mapper/ # Mapper接口。

leijmdas的专栏 858

Mybatis Plus代码生成器

实体类:对应数据库表的 Java 实体类。Mapper 接口:用于数据库访问的 Mapper 接口。Mapper XML:与 Mapper 接口对应的 SQL 映射文件(可选)。Service 和 ServiceImpl:业务逻辑层的接口和实现类。Controller:处理 HTTP 请求的控制层代码(可选)。通过代码生成器,开发者只需要配置好数据库连接和表名等信息,即可自动生成一套基础的代码结构,节省大量重复性工作。

weixin_73735141的博客 652

【mybatis】MyBatis-Plus 代码生成器

数据源配置用于指定需要生成代码的具体数据库。通过配置数据源,代码生成器能够连接到数据库并获取表结构信息,以便生成相应的代码。数据库表配置用于指定需要生成哪些表的代码或者排除哪些表。通过策略配置,可以灵活地控制代码生成的范围。通过注入配置,可以在代码生成过程中添加额外的逻辑。模板配置允许自定义代码生成的模板,实现个性化操作。通过模板配置,可以定制生成代码的格式和内容。通过配置包名,可以确保生成的代码放置在正确的目录结构中。全局策略配置提供了一些全局的设置,如作者信息、生成路径等。

wosixiaokeai的博客 1250

MyBatis-Plus代码生成器的使用

1.引入依赖 <!--mybatisplus依赖--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.0.5</version> </depen

weixin_45081813的博客 2199
上一篇: 发个文章怀念一下(六一儿童节)
下一篇: HTML的DOM操作看一篇就够了
鳳九~
博客等级 码龄8年 1384粉丝 215原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值