使用后端代码生成器,提高开发效率

如果你是一名后端开发者,那么大多数的工作一定是重复编写各种 CRUD(增删改查)代码。时间长了你会发现,这些工作不仅无趣,还会浪费你的很多时间,没有机会去做更有创造力和挑战的工作。

作为一名程序员,一定要学会偷懒!学会利用工具来解放人力。

其实现在有很多现成的代码生成器,可以帮助我们自动生成常用的增删改查代码,而不用自己重复编写,从而大幅提高开发效率,所以大家一定要掌握。

对应到 Java 后端开发,主流技术是 Spring Boot + Spring MVC + MyBatis 框架,使用这些技术来开发项目时,通常需要编写数据访问层 (DAO / Mapper) 和数据库表的 XML 映射代码、实体类、Service 业务逻辑代码、以及 Controller 接口代码。

本文就以使用 IDEA 开发工具中我认为非常好用的免费代码生成插件 MyBatisX 为例,带大家学习如何使用工具自动生成后端代码,节省时间和精力。

MyBatisX 自动生成代码教程

1、安装 MyBatisX 插件

首先,确保你已经安装了 IntelliJ IDEA 开发工具。

打开你的项目工程,然后进入 Settings 设置页搜索 MyBatisX 插件并安装,步骤如图:

2、配置数据库连接

MyBatisX 插件的核心功能是根据数据库表的结构来生成对应的实体类、数据访问层 Mapper、Service 等代码,所以在使用前,我们需要在 IDEA 中配置一个数据库连接。

先在 IDEA 右侧的 Database 中创建一个 MySQL 数据源配置:

然后根据自己的数据库信息填写配置,并测试能否连接成功:

连接成功后,就可以在 IDEA 中管理数据库了,不需要 Navicat 之类的第三方工具:

3、使用 MyBatisX 生成代码

右键要生成代码的数据表,进入 MyBatisX 生成器:

然后进入生成配置页面,可以根据你的需求来自定义代码生成规则:

上述配置中,我个人建议 base package (生成代码的包名和位置)尽量不要和已有的项目包名重叠,先把代码生成到一个完全不影响业务的位置,确认生成的代码没问题后,再移动代码会更保险一些。

进入下一步,填写更多的配置,可以选择生成代码的模板(一般是 MyBatis-Plus 模板),以及自定义实体类的生成规则(一般建议用 Lombok)。

以下是我常用的推荐配置:

改完配置后,直接点击生成即可,然后可以在包目录中看到生成的代码:

4、定制修改

通过以上方法,就已经能够完成基础增删改查代码的生成了,但一般情况下,我们得到生成的代码后,还要再根据自己的需求进行微调。

比如把主键 ID 的生成规则从自动递增改为雪花算法生成,防止数据 id 连续被别人轻松爬走:

最后你就可以使用现成的代码来操作数据库啦~

其他

如开头所说,现在的代码生成器非常多,比如 MyBatis Plus 框架也提供了灵活的代码生成器:

指路:baomidou.com/pages/98140...

再比如可以直接在浏览器使用的代码生成器,鱼皮自己也开发过并且开源了:

指路:sqlfather.yupi.icu/

开源:github.com/liyupi/sql-...

感兴趣的话,大家也可以尝试使用 FreeMarker 技术做一个属于自己的代码生成器。

实践

编程导航星球的用户中心项目使用了 MyBatisX 插件来生成代码,非常简单,大家一定要学会运用!

👉🏻 编程导航原创项目教程系列:yuyuanweb.feishu.cn/wiki/SePYwT...

相关推荐
码农派大星。几秒前
Spring Boot 配置文件
java·spring boot·后端
杜杜的man41 分钟前
【go从零单排】go中的结构体struct和method
开发语言·后端·golang
幼儿园老大*42 分钟前
走进 Go 语言基础语法
开发语言·后端·学习·golang·go
llllinuuu43 分钟前
Go语言结构体、方法与接口
开发语言·后端·golang
cookies_s_s44 分钟前
Golang--协程和管道
开发语言·后端·golang
为什么这亚子1 小时前
九、Go语言快速入门之map
运维·开发语言·后端·算法·云原生·golang·云计算
鹿屿二向箔1 小时前
基于SSM(Spring + Spring MVC + MyBatis)框架的汽车租赁共享平台系统
spring·mvc·mybatis
想进大厂的小王1 小时前
项目架构介绍以及Spring cloud、redis、mq 等组件的基本认识
redis·分布式·后端·spring cloud·微服务·架构
customer082 小时前
【开源免费】基于SpringBoot+Vue.JS医院管理系统(JAVA毕业设计)
java·vue.js·spring boot·后端·spring cloud·开源·intellij-idea
2402_857589362 小时前
SpringBoot框架:作业管理技术新解
java·spring boot·后端