团团代码生成器V1.0:一键生成完整的CRUD功能(提供Gitee源码)

news2024/9/23 11:21:01

前言:在日常开发的中,经常会需要重复写一些基础的增删改查接口,虽说不难,但是会耗费我们一些时间,所以我自己开发了一套纯SpringBoot实现的代码生成器,可以为我们生成单条数据的增删改查,还可以生成多条数据的批量新增、修改和删除功能,可以大大提高我们的开发效率,本篇博客我会详细介绍这套代码生成器的使用教程。

原创不易,每一行代码都是博主纯手写的,免费开源给大家,希望大家可以点赞、关注和收藏支持一下!

目录

一、项目介绍

二、Gitee源码

三、项目使用教程

2.1、修改yml配置文件

2.2、运行单元测试

四、实际开发测试

4.1、实体类

4.2、Mapper.java接口

4.3、Mapper.xml文件

4.4、Service.java接口

4.5、ServiceImpl.java实现类

4.6、单元测试

4.6.1、插入一条数据

4.6.2、修改一条数据

4.6.3、查询数据

4.6.4、删除一条数据

4.6.5、批量插入数据

4.6.6、批量修改数据

4.6.7、批量删除数据

五、总结


一、项目介绍

这次开发的代码生成器是纯SpringBoot实现的,整个项目非常简洁也易上手,博主花了一周时间左右抽空写完的,目前代码生成器只支持MySQL版本。

注:如果需要MySQL支持批量操作,需要在yml的url配置中新增allowMultiQueries=true,支持以;分隔批量执行SQL。

例如:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test?allowMultiQueries=true&useSSL=false
    username: 
    password: 

技术选型:

1、SpringBoot2.7

2、MyBatis持久层框架

3、Velocity模板引擎

4、MySQL数据库

...

运行环境:

1、Maven3.8.1

2、JDK1.8

目前支持一键生成如下文件:

1、Domain.java实体类

2、Mapper.xml文件

3、Mapper.java接口

4、Service.java接口

5、ServiceImpl.java实现类

controller层我这边是不生成的,因为每个人的封装结果集不一样,所以需要自行手写。 

二、Gitee源码

码云地址:团团代码生成器V1.0:一键生成完整的CRUD功能

三、项目使用教程

其实生成代码一共就2步,配置好信息,运行一下就好了。

2.1、修改yml配置文件

当你把项目拉下来的时候,需要在yml中配置好如下信息:

1、你的数据库信息。

2、需要生成的表名。

3、生成代码文件的存放路径。

注:路径必须是英文,如果没有文件夹程序会自动新建。

2.2、运行单元测试

我的数据库名字是generate,里面就新建了一张user表。

这是表属性。

然后找到TableColumnApplicationTests单元测试文件,直接运行就可以一键生成了!

根据本地磁盘找到生成的文件。

这样就生成好了!是不是超简单O(∩_∩)O。 

四、实际开发测试

我直接省略了搭建SpringBoot的流程,快速的给大家演示一下,在实际项目开发中如何去使用生成好的代码。

简单的配置了一下MySQL链接和Mybatis的配置,并新建好了domain、service、serviceImpl、mapper和mapping包。

4.1、实体类

把生成的User实体类粘贴进来。

4.2、Mapper.java接口

把生成的UserMapper接口粘贴进来。

4.3、Mapper.xml文件

把生成UserMapper.xml文件粘贴进来。

4.4、Service.java接口

把生成的UserService接口粘贴进来。

4.5、ServiceImpl.java实现类

把生成的UserServiceImpl实现类粘贴进来。

4.6、单元测试

下面通过图文的方式进行单元测试,测试每一个接口。

4.6.1、插入一条数据

数据库情况:

4.6.2、修改一条数据

数据库情况:

4.6.3、查询数据

4.6.4、删除一条数据

数据库情况:

4.6.5、批量插入数据

数据库情况:

4.6.6、批量修改数据

数据库情况:

4.6.7、批量删除数据

数据库情况:

五、总结

以上就是我的代码生成器的全部完整功能,是不是很方便!免费开源给大家,可以用于很多地方,例如学校的毕业设计,喜欢的话给博主留个三连吧!

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

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

相关文章

快速使用Linux系统中SSH

在Linux系统中,使用SSH代理跳板机是一种有效的方式,可以实现安全连接和访问远程服务器。本文将详细介绍SSH代理跳板机的设置和使用方法。 什么是SSH代理跳板机? SSH代理跳板机是一种在Linux系统中使用SSH协议实现的代理服务器。通过配置相关…

突破瓶颈,提升学习效率的考试培训系统

在现代社会中,教育和培训已经成为人们提升自我能力的重要途径。尤其在考试备考过程中,学习效率的提升显得尤为重要。为了帮助学习者突破学习瓶颈,提高学习效果,我们开发了一款全新的考试培训系统。 我们的系统为学习者提供了全方…

浅谈时序:set_ouput_delay

1、set_output_delay的本质 set_output_delay是对模块output信号在模块外部延迟的约束,本质上EDA工具会根据约束调整内部器件(UFF0)的类型,摆放位置以及组合逻辑(C1)以满足约束要求,即EDA工具保…

硬件系统工程师宝典(37)-----常用接口之EMC特性电路设计

各位同学大家好,欢迎继续做客电子工程学习圈,今天我们继续来讲这本书,硬件系统工程师宝典。上篇我们介绍了一些常用总线,如I2C、SPI、I2S、CAN总线,另外分析了常用的逻辑电平TTL和CMOS以及电平之间互连的方式。今天我们…

shell脚本基础————表达式

目录 一、shell类型 类型 查看系统中支持的shell 查看系统默认shell 二、变量 一、组成 一、变量名 声明规范 声明方法 二、变量值 二、类型 一、系统内置变量(环境变量) 二、自定义变量 数字 字符串 引号的用法 三、位置变量 四、预定义…

机器学习深度学习——transformer(机器翻译的再实现)

👨‍🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习&&深度学习——自注意力和位置编码(数学推导代码实现) 📚订阅专栏:机器…

【Python程序设计】基于Python Flask的上海美食信息与可视化宣传网站项目-附下载方式以及往届优秀论文,原创项目其他均为抄袭

基于Python Flask的上海美食信息与可视化宣传网站 一、项目简介二、开发环境三、项目技术四、功能结构五、运行截图六、功能实现七、数据库设计八、源码获取 一、项目简介 随着大数据和人工智能技术的迅速发展,我们设计并开发了一款基于大数据的上海美食系统。该系…

python使用matplotlib实现折线图的绘制

一、意义 数据可视化可以以简洁的方式呈现出数据,发现众多数据中隐藏的规律和意义。Matplotlib是一个数学绘图库。利用它可以制作简单的图表(散点图、折线图)。然后,将基于漫步概念生成一个更有趣的数据集–根据一系列随机决策生成…

Android学习--JNI

文章目录 JNI(Java Native Interface)NDK(Native Development Kit)一、创建一个JNI项目1.创建项目2.C文件字段说明1. Extern “C”2. JNIEXPORTh和JNICALL3. JNI接口命名规则4. JNIEnv5. jclass和jobject6. 数据类型7.JNI函数签名信息 二、JNI实现1.简单实现2.静态注册3.动态注…

Tomcat 一次请求的生命周期

在使用 Tomcat 的时候,我们只需要在 Servlet 实现类中写我们的业务逻辑代码即可,不需要管 Socket 连接、协议处理要怎么实现,因为这部分作为不经常变动的部分,被封装到了 Tomcat 中,程序员只需要引入 Tomcat 中即可&am…

DNNGP、DeepGS 和 DLGWAS模型构成对比

一、DNNGP DNNGP 是基于深度卷积神经网络,这个结构包括一个输入层,三个卷积层,一个批标准化层,两个dropout层,一个平坦化层,一个 dense层。 dropout层:在神经网络中,dropout层是一个非常有效的正…

拿捏--->打印爱心(小心机表白)

文章目录 题目描述算法思路代码示例思路一思路二 题目描述 利用java语言编写算法在控制台打印爱心算法 算法思路代码示例 思路一 打印心形主要分为上下两部分,如图: 下边主要是一个倒立三角形,容易打印。 上边可以分为左右两部分&#…

【数据结构】堆的初始化——如何初始化一个大根堆?

文章目录 源码是如何插入的?扩容向上调整实现大根堆代码: 源码是如何插入的? 扩容 在扩容的时候,如果容量小于64,那就2倍多2的扩容;如果大于64,那就1.5倍扩容。 还会进行溢出的判断&#xff0c…

NPDP含金量高吗?难考吗?

一,什么是NPDP认证? NPDP认证中文名为产品经理国际资格认证,New Product Development Professional (NPDP) ,是由美国 产品开发与管理协会 (PDMA) 所发起, 是国际公认的唯一的新产品开发专业认证,集理论、方…

论文及代码详解——可变形卷积(DCNv2)

文章目录 论文详解Stacking More Deformable Conv LayersModulated Deformable ModulesR-CNN Feature Mimicking 代码详解 DCNv2 是在DCNv1的基础上的改进版。 理解DCNv2之前,建议先读 《论文及代码详解——可变形卷积(DCNv1)》 论文详解 DC…

数据结构单链表

单链表 1 链表的概念及结构 概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链 接次序实现的 。 在我们开始讲链表之前,我们是写了顺序表,顺序表就是类似一个数组的东西&#xff0…

651页23万字智慧教育大数据信息化顶层设计及建设方案WORD

导读:原文《651页23万字智慧教育大数据信息化顶层设计及建设方案WORD》(获取来源见文尾),本文精选其中精华及架构部分,逻辑清晰、内容完整,为快速形成售前方案提供参考。 目录 一、 方案背景 1.1 以教育…

三、数据类型

1、数值类型 (1)分类: (2)注意: 存储某一类数据,如果只想要表示整数,则在其后加unsigned即可; 在表示小数时,需要指明该小数的总长度和小数部分的长度&…

PostgreSQL空值的判断

PostgreSQL空值的判断 空值判断非空判断总结 空值判断 -- 查询为空的 is null,sql简写isnull select * from employees where manager_id isnull;select * from employees where manager_id is null;非空判断 -- 查询不为空的 is not null;sql简写notnull select * from empl…

c++基本语法

c基础语法 由于长时间没有使用过c&#xff0c;因此c的语法已经忘得差不多了&#xff0c;这篇文章主要是快读地过一遍c的基本语法。之前也写过一篇从c过渡到c的文章&#xff0c;有兴趣地可以看看。 文章链接 1.c的安装 mingw64的安装配置环境变量 2.语法 #include<iostre…