我用过很多代码生成器,还是选了他

大家好,我是鲏。如果你是一名后端开发者,那么大多数的工作一定是重复编写各种 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 框架也提供了灵活的代码生成器:

指路:https://baomidou.com/pages/981406/

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

指路:http://sqlfather.yupi.icu/

开源:https://github.com/liyupi/sql-father-backend-public

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

实践

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

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

👇🏻 点击下方阅读原文,获取鱼皮往期编程干货

往期推荐

公司来了位 “新同事”,专门提醒员工接水?

编程导航,火了!

创业真的太累了。。

太卷了,现在开发App都这么玩了?

4 种方法,帮你快速新建 Java 项目!

Rust 这么厉害?为什么连前端都在卷它

相关推荐

  • 2023 年 Serverless 状态报告发布:采用率大幅增长
  • 代码生成:基于 AI 大模型的挑战与前景
  • 创新风潮迭起,2023深圳国际金融科技大赛——西丽湖金融科技大学生挑战赛正式启动
  • 谷歌如何释放和衡量开发人员的生产力
  • 大模型时代下的技术变革:训练、负载、部署、效率、安全……都遇到了新挑战?
  • 20 个最频繁使用的 Python 代码片段
  • GPT-4肆虐「谁是卧底」桌游!交谈逼真,类人属性仍有发展空间
  • 碾压GPT-4,微软最强AutoGen爆火!多个智能体协作,编码速度飙升4倍,GitHub狂揽10k星
  • 百度谷歌成为AI黄埔军校,Transformer八子融资超8.7亿刀!「AI行业全景报告」总结GenAI大爆发
  • 再阉割H800?美商务部新政加强限制GPU出口,预计本周公布
  • 英伟达爆火智能体研究:AI逼真还原人类情感!会饿会孤独,会跑步会发火
  • YOLO再升级!华为诺亚提出Gold-YOLO,聚集-分发机制打造新SOTA
  • 靠发AIGC论文拿了100万年薪!不是靠努力和勤奋,而是......
  • 数据科学的业务价值转化秘籍
  • AB实验的关键变量
  • 信息流场景下的AIGC实践
  • ReCon框架帮助AI大模型识破谎言,来看智能体如何在阿瓦隆游戏中应对欺骗
  • 选择GPT-3.5、还是微调Llama 2等开源模型?综合比较后答案有了
  • 语言、机器人破壁,MIT等用GPT-4自动生成模拟任务,并迁移到真实世界
  • 狂揽10k star,微软AutoGen框架太火了,智能体聊聊天就把问题解决了