当前位置: 首页 > 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;如…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容&#xff0c;我认为是AI开发里面非常重要的内容。它在AI开发里无处不在&#xff0c;当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗"&#xff0c;或者让翻译模型 "将这段合同翻译成商务日语" 时&#xff0c;输入的这句话就是 Prompt。…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M&#xff1a;百万&#xff08;Million&#xff09; B&#xff1a;十亿&#xff08;Billion&#xff09; 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的&#xff0c;但是一个参数所表示多少字节不一定&#xff0c;需要看这个参数以什么…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql

智慧工地管理云平台系统&#xff0c;智慧工地全套源码&#xff0c;java版智慧工地源码&#xff0c;支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求&#xff0c;提供“平台网络终端”的整体解决方案&#xff0c;提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU&#xff1a;如何让RNN变得更聪明&#xff1f; 在深度学习的世界里&#xff0c;循环神经网络&#xff08;RNN&#xff09;以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而&#xff0c;传统RNN存在的一个严重问题——梯度消失&#…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问&#xff1a;说说对 IP 数据报中 TTL 的理解&#xff1f;我们都知道&#xff0c;IP 数据报由首部和数据两部分组成&#xff0c;首部又分为两部分&#xff1a;固定部分和可变部分&#xff0c;共占 20 字节&#xff0c;而即将讨论的 TTL 就位于首…...

iview框架主题色的应用

1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题&#xff0c;无需引入&#xff0c;直接可…...

【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅

目录 前言 操作系统与驱动程序 是什么&#xff0c;为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中&#xff0c;我们在使用电子设备时&#xff0c;我们所输入执行的每一条指令最终大多都会作用到硬件上&#xff0c;比如下载一款软件最终会下载到硬盘上&am…...

算法打卡第18天

从中序与后序遍历序列构造二叉树 (力扣106题) 给定两个整数数组 inorder 和 postorder &#xff0c;其中 inorder 是二叉树的中序遍历&#xff0c; postorder 是同一棵树的后序遍历&#xff0c;请你构造并返回这颗 二叉树 。 示例 1: 输入&#xff1a;inorder [9,3,15,20,7…...