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

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

相关推荐
wn53137 分钟前
【Go - 类型断言】
服务器·开发语言·后端·golang
ggdpzhk1 小时前
Mybatis 快速入门(maven)
oracle·maven·mybatis
希冀1231 小时前
【操作系统】1.2操作系统的发展与分类
后端
GoppViper2 小时前
golang学习笔记29——golang 中如何将 GitHub 最新提交的版本设置为 v1.0.0
笔记·git·后端·学习·golang·github·源代码管理
爱上语文3 小时前
Springboot的三层架构
java·开发语言·spring boot·后端·spring
serve the people3 小时前
springboot 单独新建一个文件实时写数据,当文件大于100M时按照日期时间做文件名进行归档
java·spring boot·后端
罗政8 小时前
[附源码]超简洁个人博客网站搭建+SpringBoot+Vue前后端分离
vue.js·spring boot·后端
拾光师9 小时前
spring获取当前request
java·后端·spring
Java小白笔记11 小时前
关于使用Mybatis-Plus 自动填充功能失效问题
spring boot·后端·mybatis
JOJO___13 小时前
Spring IoC 配置类 总结
java·后端·spring·java-ee