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

如果你是一名后端开发者,那么大多数的工作一定是重复编写各种 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...

相关推荐
盛派网络小助手1 小时前
微信 SDK 更新 Sample,NCF 文档和模板更新,更多更新日志,欢迎解锁
开发语言·人工智能·后端·架构·c#
∝请叫*我简单先生1 小时前
java如何使用poi-tl在word模板里渲染多张图片
java·后端·poi-tl
zquwei2 小时前
SpringCloudGateway+Nacos注册与转发Netty+WebSocket
java·网络·分布式·后端·websocket·网络协议·spring
dessler3 小时前
Docker-run命令详细讲解
linux·运维·后端·docker
Q_19284999063 小时前
基于Spring Boot的九州美食城商户一体化系统
java·spring boot·后端
ZSYP-S4 小时前
Day 15:Spring 框架基础
java·开发语言·数据结构·后端·spring
Yuan_o_4 小时前
Linux 基本使用和程序部署
java·linux·运维·服务器·数据库·后端
程序员一诺5 小时前
【Python使用】嘿马python高级进阶全体系教程第10篇:静态Web服务器-返回固定页面数据,1. 开发自己的静态Web服务器【附代码文档】
后端·python
DT辰白5 小时前
如何解决基于 Redis 的网关鉴权导致的 RESTful API 拦截问题?
后端·微服务·架构