当前位置: 首页 > news >正文

MyBatisPlus代码生成器(交互式)快速指南

在这里插入图片描述

引言

本片文章是对代码生成器(交互)快速配置使用流程,更多配置方法可查看官方文档:

代码生成器配置官网


如有疑问欢迎评论区交流!

文章目录

  • 引言
  • 演示效果图
  • 引入相关依赖
  • 创建代码生成器对象
  • 引入Freemarker模板引擎依赖
  • 支持的模板引擎

MyBatis Plus中的代码生成器是一个非常强大且实用的工具,旨在提高开发效率,减少重复性代码的编写。以下是关于MyBatisPlus代码生成器的详细介绍和使用方法:

演示效果图

在这里插入图片描述

引入相关依赖

在Maven项目中,引入MyBatis Plus和代码生成器的依赖:

 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.2</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.5.2</version></dependency>

注意:mybatis-plus-generatormybatis-plus-boot-starter的版本必须一致,并且版本需要大于3.5.1。

创建代码生成器对象

创建一个CodeGenerator对象,并进行相应的配置,这里使用的交互式代码:

public static void main(String[] args) {FastAutoGenerator.create("url", "username", "password")// 全局配置.globalConfig((scanner, builder) -> builder.author(scanner.apply("请输入作者名称?"))//设置输出路径.outputDir(System.getProperty("user.dir") + "/src/main/java"))// 包配置.packageConfig((scanner, builder) -> builder.parent(scanner.apply("请输入包名?")))// 策略配置.strategyConfig((scanner, builder) -> builder.addInclude(getTables(scanner.apply("请输入表名,多个英文逗号分隔?所有输入 all"))).entityBuilder().enableLombok().addTableFills(new Column("create_time", FieldFill.INSERT)).build())// 使用Freemarker引擎模板,默认的是Velocity引擎模板.templateEngine(new FreemarkerTemplateEngine()).execute();
}// 处理 all 情况
protected static List<String> getTables(String tables) {return "all".equals(tables) ? Collections.emptyList() : Arrays.asList(tables.split(","));
}

将上述代码中的"url", "username", "password"替换为你的数据库配置:

  • url:jdbc 路径,如jdbc:mysql://127.0.0.1:3306/mybatis-plus
  • username:数据库账号
  • password:数据库密码

引入Freemarker模板引擎依赖

由于上述代码使用的是Freemarker模板引擎,所以需要引入对应的Maven依赖:

<dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>最新版本</version>
</dependency>

支持的模板引擎

MyBatis-Plus 支持 Velocity(默认)、Freemarker、Beetl,用户可以选择自己熟悉的模板引擎,如果都不满足您的要求,可以采用自定义模板引擎。这里对自定义模板引擎不做过多讲解!

  • Velocity(默认)
<dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId><version>最新版本</version>
</dependency>
  • Beetl:
<dependency><groupId>com.ibeetl</groupId><artifactId>beetl</artifactId><version>最新版本</version>
</dependency>

注意事项

  1. 确保自动代码生成的表存在:生成代码的表必须存在于数据库中,否则会报错。
    在这里插入图片描述
  2. 引入模板引擎的Maven依赖:确保已引入所需的模板引擎依赖。
  3. mybatis-plus-generatormybatis-plus-boot-starter版本要一致

相关文章:

MyBatisPlus代码生成器(交互式)快速指南

引言 本片文章是对代码生成器(交互)快速配置使用流程&#xff0c;更多配置方法可查看官方文档&#xff1a; 代码生成器配置官网 如有疑问欢迎评论区交流&#xff01; 文章目录 引言演示效果图引入相关依赖创建代码生成器对象引入Freemarker模板引擎依赖支持的模板引擎 MyBat…...

深度学习模型训练之日志记录

在深度学习模型训练过程中&#xff0c;进行有效的训练日志记录是至关重要的。以下是一些常见的策略和工具来实现这一目标&#xff1a; 1. 使用TensorBoard TensorBoard是TensorFlow提供的一个可视化工具&#xff0c;用于记录和展示训练过程中的各种指标。 设置TensorBoard&a…...

深入理解Python中的装饰器

装饰器是Python中一个强大且灵活的工具,允许开发者在不修改函数或类定义的情况下扩展或修改其行为。装饰器广泛应用于日志记录、访问控制、缓存等场景。本文将详细探讨Python中的装饰器,包括基本概念、函数装饰器和类装饰器、内置装饰器以及装饰器的高级用法。 目录 装饰器概…...

基于springboot的人力资源管理系统源码数据库

传统信息的管理大部分依赖于管理人员的手工登记与管理&#xff0c;然而&#xff0c;随着近些年信息技术的迅猛发展&#xff0c;让许多比较老套的信息管理模式进行了更新迭代&#xff0c;员工信息因为其管理内容繁杂&#xff0c;管理数量繁多导致手工进行处理不能满足广大用户的…...

如何舒适的使用VScode

安装好VScode后通常会很不好用&#xff0c;以下配置可以让你的VScode变得好用许多。 VScode的配置流程 1、设置VScode中文2、下载C/C拓展&#xff0c;使代码可以跳转3、更改编码格式4、设置滚轮缩放5、设置字体6、设置保存自动改变格式7、vscode设置快捷代码 1、设置VScode中文…...

【微信小程序】开发环境配置

目录 小程序的标准开发模式&#xff1a; 注册小程序的开发账号 安装开发者工具 下载 设置外观和代理 第一个小程序 -- 创建小程序项目 查看项目效果 第一种&#xff1a;在模拟器上查看项目效果 项目的基本组成结构 小程序代码的构成 app.json文件 project.config…...

启动盘镜像制作神器(下载即用)

一、简介 1、一款受欢迎且功能强大的USB启动盘制作工具,允许用户将操作系统镜像文件(如Windows或Linux的ISO文件)制作成可引导的USB启动盘。它支持多种操作系统,包括Windows、Linux和各种基于UEFI的系统。Rufus的一个显著特点是制作速度快,据称其速度比其他常用工具如UNet…...

PHP框架详解 - Symfony框架

引言 在现代Web开发中&#xff0c;PHP作为一种灵活且功能强大的编程语言&#xff0c;广泛应用于各种Web应用程序的开发中。为了提高开发效率、代码的可维护性和可扩展性&#xff0c;开发者通常会选择使用框架来构建应用程序。在众多PHP框架中&#xff0c;Symfony以其强大的功能…...

鸿蒙开发:【线程模型】

线程模型 线程类型 Stage模型下的线程主要有如下三类&#xff1a; 主线程 执行UI绘制。管理主线程的ArkTS引擎实例&#xff0c;使多个UIAbility组件能够运行在其之上。管理其他线程的ArkTS引擎实例&#xff0c;例如使用TaskPool&#xff08;任务池&#xff09;创建任务或取消…...

初级网络工程师之从入门到入狱(三)

本文是我在学习过程中记录学习的点点滴滴&#xff0c;目的是为了学完之后巩固一下顺便也和大家分享一下&#xff0c;日后忘记了也可以方便快速的复习。 中小型网络系统综合实战实验 前言一、详细拓扑图二、LSW2交换机三、LSW3交换机四、LSW1三层交换机4.1、4.2、4.3、4.4、4.5、…...

【数据结构】排序(直接插入、折半插入、希尔排序、快排、冒泡、选择、堆排序、归并排序、基数排序)

目录 排序一、插入排序1.直接插入排序2.折半插入排序3.希尔排序 二、交换排序1.快速排序2.冒泡排序 三、选择排序1. 简单选择排序2. 堆排序3. 树排序 四、归并排序(2-路归并排序)五、基数排序1. 桶排序&#xff08;适合元素关键字值集合并不大&#xff09;2. 基数排序基数排序的…...

MongoDB ObjectId 详解

MongoDB ObjectId 详解 MongoDB 是一个流行的 NoSQL 数据库,它使用 ObjectId 作为文档的唯一标识符。ObjectId 是一个 12 字节的 BSON 类型,它在 MongoDB 中用于保证每个文档的唯一性。本文将详细解释 ObjectId 的结构、生成方式以及它在 MongoDB 中的应用。 ObjectId 的结…...

大数据-11-案例演习-淘宝双11数据分析与预测 (期末问题)

目录 第一部分 Hadoop是什么 官方解释&#xff1a; 个人总结 HDFS 是什么? 官方解释&#xff1a; 个人总结 yarn是什么? 官方解释&#xff1a; 个人总结 mapreduce&#xff0c;spark 是什么? 官方解释&#xff1a; MapReduce Spark 个人总结 MapReduce Spa…...

Kubernetes集群监控,kube-prometheus安装教程,一键部署

Kube-prometheus介绍 Kube-prometheus 是一个用于监控 Kubernetes 集群的完整解决方案。它基于 Prometheus 生态系统&#xff0c;提供了一整套预配置的组件和配置文件&#xff0c;以便轻松地在 Kubernetes 上部署和运行 Prometheus 监控系统。 Kube-prometheus 主要包括以下组…...

【Gradio】快速入门

https://www.gradio.app/ Gradio 是一个开源 Python 软件包https://github.com/gradio-app/gradio &#xff0c;可以让你快速为机器学习模型、API 或任何任意 Python 函数创建一个演示或网络应用程序。然后&#xff0c;您就可以使用 Gradio 内置的分享功能&#xff0c;在几秒钟…...

深度学习Day-19:DenseNet算法实战与解析

&#x1f368; 本文为&#xff1a;[&#x1f517;365天深度学习训练营] 中的学习记录博客 &#x1f356; 原作者&#xff1a;[K同学啊 | 接辅导、项目定制] 要求&#xff1a; 根据 Pytorch 代码&#xff0c;编写出 TensorFlow 代码研究 DenseNet 与 ResNetV 的区别改进思路是…...

基于openssl实现AES ECB加解密

AES加密&#xff0c;全称高级加密标准&#xff08;Advanced Encryption Standard&#xff09;&#xff0c;是一种广泛使用的对称加密算法&#xff0c;用于保护电子数据的安全。以下是AES加密的基本原理和特点&#xff1a; 基本概念 对称加密&#xff1a;AES是一种对称加密算法…...

Git:从配置到合并冲突

目录 1.前言 2.Git的下载与初始化配置 3.Git中新建仓库 4.Git的工作区域和文件状态 5.Git中查看操作和提交记录 6.Git中添加和提交文件 7.Git中回退提交版本 8.Git中查看版本间的差异 9.Git中删除文件 10.Git中忽略指定文件 11.Git中配置SSH密钥 12.Git中关联克隆仓库 13.Git中…...

leetcode hot100 之 最长公共子序列

题目 给定两个字符串 text1 和 text2&#xff0c;返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 &#xff0c;返回 0 。 一个字符串的 子序列 是指这样一个新的字符串&#xff1a;它是由原字符串在不改变字符的相对顺序的情况下删除某些字符&#xff08;…...

短剧APP开发,新的“财富”

在数字化时代&#xff0c;开发短剧APP不仅是顺应潮流的必然选择&#xff0c;更是抓住市场机遇的关键所在。为确保短剧APP能有效地吸引并留住用户&#xff0c;以下是一些主要功能及其介绍&#xff1a; 1、短剧搜索 关键词搜索&#xff1a;用户可以通过输入关键词&#xff08;如…...

NBTExplorer深度指南:掌握Minecraft数据编辑的完整解决方案

NBTExplorer深度指南&#xff1a;掌握Minecraft数据编辑的完整解决方案 【免费下载链接】NBTExplorer A graphical NBT editor for all Minecraft NBT data sources 项目地址: https://gitcode.com/gh_mirrors/nb/NBTExplorer NBTExplorer是一款专为Minecraft游戏数据设…...

AI文本处理利器:MCP服务器实现结构化信息提取与智能解析

1. 项目概述&#xff1a;一个为AI应用注入结构化文本处理能力的MCP服务器 最近在折腾AI应用开发&#xff0c;特别是那些需要让大语言模型&#xff08;LLM&#xff09;与外部工具和数据源打交道的场景&#xff0c;我发现一个核心痛点&#xff1a;如何高效、可靠地将非结构化的文…...

别再只测SSRF读内网了:手把手教你用dict/gopher协议探测并攻击内网Redis服务

从SSRF到内网Redis渗透&#xff1a;实战进阶指南 发现SSRF漏洞只是开始&#xff0c;真正的挑战在于如何将其转化为实际的攻击路径。当目标内网存在Redis服务时&#xff0c;一个看似简单的SSRF可能成为整个内网沦陷的起点。本文将带你深入探索如何通过dict和gopher协议&#xff…...

独立开发者实战:AI编程的泥泞战壕与生存指南

1. 从“氛围编程”到真实战场&#xff1a;一个独立开发者的自白如果你最近也在关注独立开发或者AI编程工具&#xff0c;那你一定听过“氛围编程”这个词。它听起来很酷&#xff0c;对吧&#xff1f;仿佛你只需要对着AI描述一下心中的“氛围感”&#xff0c;一个完美的应用就能应…...

量子机器学习中的噪声效应与抗噪策略

1. 量子机器学习中的噪声效应全景解析在量子计算与机器学习交叉领域&#xff0c;噪声问题正成为制约实际应用的关键瓶颈。去年我在参与一个医疗影像分类项目时&#xff0c;首次亲身体验到量子噪声的破坏力——当我们将经典卷积神经网络迁移到量子变分电路架构时&#xff0c;准确…...

360安全浏览器-很恶心,经常自己绑定安装,有没有什么方法可以阻止安装?

360安全浏览器-很恶心,经常自己绑定安装,有没有什么方法可以阻止安装? 可以阻止360安全浏览器的自动安装‌,主要通过关闭其推荐功能、彻底卸载关联组件、禁用后台服务及使用系统策略拦截来实现。 一、关闭360软件的推荐安装设置 若已安装360安全卫士或360极速浏览器,需先…...

Unsloth框架解析:如何用4-bit量化与Triton内核加速大模型微调

1. 项目概述&#xff1a;为什么我们需要一个“不偷懒”的AI训练框架&#xff1f;如果你最近在尝试微调大语言模型&#xff0c;比如Llama、Mistral或者Qwen&#xff0c;大概率已经体会过什么叫“望眼欲穿”。动辄几个小时甚至几天的训练时间&#xff0c;对显存的贪婪吞噬&#x…...

【信息科学与工程学】【安全领域】第二十七篇 几何学在网络安全的应用(1)

网络安全中的几何学应用全景 一、几何学与网络安全的核心联系框架 1.1 几何思维在网络安全的映射 几何概念 网络安全映射 安全价值 应用本质 空间与距离​ 特征空间、异常距离 相似性度量、异常检测 量化“正常”与“异常”的距离 拓扑结构​ 网络连接图、攻击路径 …...

SAPO Ink UI组件实战:10个常用交互组件快速上手

SAPO Ink UI组件实战&#xff1a;10个常用交互组件快速上手 【免费下载链接】Ink An HTML5/CSS3 framework used at SAPO for fast and efficient website design and prototyping 项目地址: https://gitcode.com/gh_mirrors/ink2/Ink SAPO Ink是一个由SAPO开发的HTML5/…...

League Akari:英雄联盟玩家的终极智能助手,5大核心功能全面解析

League Akari&#xff1a;英雄联盟玩家的终极智能助手&#xff0c;5大核心功能全面解析 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power &#x1f680;. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 还在为…...