基于MybatisPlus实现的代码生成插件

1. 前言

        目前市面上基于Mybatis或MybatisPlus的代码生成器或插件有很多,本人前几年也开发了一款:基于SpringBoot微服务代码自动生成插件。之前的开发的这款插件底层使用的持久层框架是通用mapper,不是现在主流的MyBatisPlus,而且只支持mysql数据库,加上多年没有维护更新了,已经不适用于当前企业的开发需求了。

        本人对市面上主流的基于MyBatis或MyBatisPlus插件使用后发现,这些插件生成的所有代码都只能对表进行增删改查操作,如果需要同时对主从表进行增删改查就必须自己手写代码,而现实开发中,同时对主从表进行增删改查的需求是很常见的,这不得不使得开发人员需要花费大量的时间来编写同时对主从表进行增删改查的代码,严重的影响了开发进度和降低了开发效率(重复做没有技术含量的事情就是浪费生命)。因此本人决定自己重新开发一款基于MyBatisPlus的代码自动生成器,目前已经完成开发并实现了想要的功能。

2. 插件功能说明

  • 自动生成控制层、业务层、持久层、实体类等类
  • 生成的控制器的接口可直接让前端调用完成单表的增删改查操作

以上两点没什么好说的,这是一个代码生成器最基本的功能,也是市面上已有的代码生成器都具备的功能,下面几点是其他代码生成器不具备的:

  • 新增表数据接口:对主表新增数据同时也可以对多个从表也进行新增数据
  • 删除表数据接口:删除主表数据的同时将关联的多个从表数据删除
  • 更新表数据接口:对主表数据更新同时也可以对关联的从表数据进行更新
  • 查询单个记录数据接口:查询表记录时可以支持将关联的从表数据一起查询返回给前端
  • 查询列表数据接口:可以根据条件查询分页查询表记录

以上5个接口不需要使用者编写一行代码就可以轻松拥有,完全实现对主从表同时进行增删改查操作。

3. 插件使用说明

  • 选择项目工程的任意文件夹右键

  • 点击插件名称后弹框如下图

  • 选择数据库类型,输入数据库连接信息后,可以选择要生成代码的表(可选)

选择好表之后直接点关闭按钮即可,如果需要对数据库中所有表进行代码生成,则不需要选择表即可。

  • 点击配置按钮配置主从表关系

可以配置多组主从表关系,点击添加就会将选择好的信息移动到文本输入框显示,如果选择错了,可以手动编辑文本输入框,删除选错的主从表关系,多个主从表关系之间使用的是英文分号分割,配置好之后点确定按钮关闭配置主从表对话框即可

  • 继续填写剩下的信息

最后点击确定按钮即可根据配置自动生成代码并保存到指定的目录下。

  • 生成代码后的目录结构

最后将生成的代码文件复制到项目中对应的包下即可使用。

4. 写在最后的话

     如果说市面上其他的代码生成插件生成的代码可以让你在开发中少写50%的代码,而这款插件我可以肯定可以让你少些85%以上的代码。

        本插件并不是免费的插件,毕竟开发创作需要时间,需要精力。免费的往往也是最贵的。

如果你喜欢该插件并想体验下该插件的功能。可以添加微信详聊:pkxzhj100244

Tip:只要两包烟钱即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2808427.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

每个学计算机同学都应该有个创业梦

推荐计算机专业必看的两部电影 经典记录片电影《社交网络》推荐理由豆瓣评分电影简介 德国犯罪喜剧《如何在网上卖迷幻药》推荐理由剧情简介 两部电影主角对比 经典记录片电影《社交网络》 纪录扎克伯格,7年时间,从一名大学生摇身变成亿万富翁的故事 推荐…

瑞_23种设计模式_桥接模式

文章目录 1 桥接模式(Bridge Pattern)1.1 介绍1.2 概述1.3 桥接模式的结构 2 案例一2.1 需求2.2 代码实现 3 案例二2.1 需求2.1 代码实现 🙊 前言:本文章为瑞_系列专栏之《23种设计模式》的桥接模式篇。本文中的部分图和概念等资料…

基于虚拟力优化的无线传感器网络覆盖率matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1 虚拟力优化算法 4.2 覆盖覆盖率计算 5.完整程序 1.程序功能描述 基于虚拟力优化的无线传感器网络覆盖率,仿真输出优化前后的网络覆盖率,覆盖率优化收敛迭代曲线…

Linux系统——Nginx小总结

目录 一、影响用户体验的因素 二、网络连接——Apache/Nginx服务请求过程 三、I/O模型——Input/Output模型 1.同步/异步 2.阻塞/非阻塞 3.同步异步/阻塞非阻塞组合 四、Nginx用法 一、影响用户体验的因素 客户端硬件配置客户端网络速率客户端与服务端距离服务端网络速…

Programming Abstractions in C阅读笔记:p293-p302

《Programming Abstractions in C》学习第73天,p293-p302总结,总计10页。 一、技术总结 1.时间复杂度 (1)quadratic time(二次时间) p293, Algorithms like selection sort that exhibit O(N^2) performance are said to run in quadratic time。 2…

K线实战分析系列之九:顶底判断——流星和倒锤子线

K线实战分析系列之九:顶底判断——流星和倒锤子线 一、流星线二、倒锤子线三、总结流星形态和倒锤子形态 一、流星线 主要特征是实体比较小,位于低端位置,带着长上影线,就像流星划过天际时,拖着一个长长的尾巴&#xf…

【深度学习笔记】 3_13 丢弃法

注:本文为《动手学深度学习》开源内容,部分标注了个人理解,仅为个人学习记录,无抄袭搬运意图 3.13 丢弃法 除了前一节介绍的权重衰减以外,深度学习模型常常使用丢弃法(dropout)[1] 来应对过拟合…

K8S部署Java项目(Springboot项目)pod状态:CrashLoopBackOff

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

Shell grep命令练习题

目录 1含有“48“字符串的行的总数 2显示含有“48“字符串的所有行的行号 3精确匹配只含有“48”字符串的行 4抽取代码为484和483的城市位置 5显示使行首不是4或8 6显示含有九月份(Sept)的行 7显示以K开头,以D结尾的所有代码 8显示头两个是大写字母,中间…

《VitePress 简易速速上手小册》第4章 博客功能增强(2024 最新版)

文章目录 4.1 添加搜索功能4.1.1 基础知识点解析4.1.2 重点案例:集成 Algolia 搜索4.1.3 拓展案例 1:自定义客户端搜索4.1.4 拓展案例 2:实现服务器端搜索4.2 评论系统集成4.2.1 基础知识点解析4.2.2 重点案例:集成 Disqus4.2.3 拓展案例 1:使用 Facebook Comments4.2.4 拓…

AD24-PCB尺寸标注、LOGO添加、装配图即多层线路PC输出

一、PCB尺寸标注 1、切换到机械层 2、按shifee进行捕捉切换 按TAB键或空格键进行横向和纵向标注切换 二、LOGO添加 1、放置-图形 2、在空白位置线绘制一个框 3、进行大小调整 三、装配图输出 1、 导出原材料BOM表,不要勾选 顶层 底层 颜色设置 2、输出只有Value值…

数据结构 计算结构体大小

一、规则: 操作系统制定对齐量: 64位操作系统,默认8Byte对齐 32位操作系统,默认4Byte对齐 结构体对齐规则: 1.结构体整体的大小,需要是最大成员对齐量的整数倍 2.结构体中每一个成员的偏移量需要存在…

数字人的未来:数字人对话系统 Linly-Talker + 克隆语音 GPT-SoVITS

🚀数字人的未来:数字人对话系统 Linly-Talker 克隆语音 GPT-SoVITS https://github.com/Kedreamix/Linly-Talker 2023.12 更新 📆 用户可以上传任意图片进行对话 2024.01 更新 📆 令人兴奋的消息!我现在已经将强…

花生壳内网穿透教程(图文并茂)

目录 前言: 使用教程: 1.注册账号 2.软件下载及安装: 3.账号绑定及花生壳的使用 4.内网穿透的配置(重点) 4.2 新增映射页面: 4.3 上面几种映射的区别: 4.4 上面TCP类型的区别:…

PHATGOOSE:使用LoRA Experts创建低成本混合专家模型实现零样本泛化

这篇2月的新论文介绍了Post-Hoc Adaptive Tokenwise Gating Over an Ocean of Specialized Experts (PHATGOOSE),这是一种通过利用一组专门的PEFT模块(如LoRA)实现零样本泛化的新方法 这个方法冻结整个模型,包括PEFT模块,并为每个模块训练一…

LabVIEW串口通信的激光器模块智能控制

LabVIEW串口通信的激光器模块智能控制 介绍了通过于LabVIEW的VISA串口通信技术在激光器模块控制中的应用。通过研究VISA串口通信的方法和流程,实现了对激光器模块的有效控制,解决了数据发送格式的匹配问题,为激光器模块的智能控制提供了一种…

MySQL-主从复制

目录 1. 主从复制概述 1.1 如何提升数据库并发能力 1.2 主从复制的作用 2. 主从复制的原理 2.1 原理剖析 三个线程 复制三步骤 复制的问题 2.2 复制的基本原则 3. 一主一从架构搭建 3.1 准备工作 3.2 主机配置文件 3.3 从机配置文件 3.4 主机:建立账户…

darknet使用介绍

Darknet框架简介 darknet是一个较为轻型的完全基于C与CUDA的开源深度学习框架,其主要特点就是容易安装,没有任何依赖项(OpenCV都可以不用),移植性非常好,支持CPU与GPU两种计算方式。 前言:为什…

zabbix3.4.6 源码安装

Step1: 下载 https://www.zabbix.com/download 选中一下。download Zabbix Sources PackageReleaseDateRelease NotesZabbix ManualDownloadZabbix 3.4Server, Proxy, Agent, GUI3.4.615 January, 2018 Download step2 :拷贝在redhat 6.3_X86_86(192…

Django定时任务之django_apscheduler使用

Django定时任务之django_apscheduler使用 今天在写一个任务需求时需要用到定时任务来做一部分数据处理与优化,于是在了解完现有方法,结合自己需求决定使用django_apscheduler,记录一下过程,有几篇值得参考的文章放在结尾&#xf…