Java知识点整理 14 — MyBatisX代码生成器

在后端开发过程中大多数的工作都是在重复编写各种CRUD(增删改查)代码,费时费力。

所以要灵活运用各类现成的代码生成器,协助我们自动生成常用的增删改查代码,而无需自己重复编写,从而大幅提升开发效率。

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

MyBatisX 就是一款实用的免费代码生成插件,基于IDEA开发工具。 

一. MyBatisX 使用指南

1. 安装 MyBatisX 插件

在IntelliJ IDEA 开发工具中打开项目工程,进入 Settings 设置并搜索 MyBatisX 插件安装:

2. 配置数据库连接

MyBatisX 插件的核心功能时根据数据库表的结构来生成对应的实体类、数据访问层、Service业务逻辑代码等,因此在使用前需要连接数据库。

首先在 Database 中创建一个 MySQL 数据源配置:

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

 连接成功后,就可以在 IDEA 中管理数据库了:

3. 使用 MyBatisX 生成代码

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

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

base package 为生成代码的包名和位置,此处建议不要和已有的项目包名重复,先将代码生成到一个完全不影响业务的位置,确认生成的代码没问题之后,再进行迁移,不会影响原有业务。

下一步填写更多配置,选择生成代码的模板(一般是 MyBatis-Plus 模板),以及自定义实体类的生成规则(通常使用 Lombok):

配置完毕后点击生成即可,可以再包目录中看到生成的代码:

4. 定制修改

上述方法已经能够完成基础增删改查代码的生成,但通常我们还需要根据需求进行二次修改。

如把主键 ID 的生成规则从自动递增改为雪花算法(生成一个的 64 位比特位的 long 类型的唯一 id)生成,防止数据 id 连续被别人爬取:

之后就可以使用现成的代码来操作数据库了。  

在基于AIGC的BI系统以及API Hunter开放平台项目中均使用到了 MyBatisX 插件来快速生成后端基础CRUD代码,大幅提升了项目开发效率。

二. 其它代码生成器

1. AutoGenerator

AuoGenerator 是 MyBatis-Plus 提供的代码生成器,快速生成实体类、Mapper、Mapper XML、Service、Controller 等各模块代码。

使用时首先需要手动添加相关依赖:

代码生成器依赖

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.5.0</version>
</dependency>

模板引擎依赖

// 默认 Velocity
<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity-engine-core</artifactId>
    <version>最新版本</version>
</dependency>

然后编写配置:提供了大量自定义参数供用户选择,能满足绝大部分人的使用需求。

配置 GlobalConfig

GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setOutputDir(System.getProperty("user.dir") + "/src/main/java");
globalConfig.setAuthor("jobob");
globalConfig.setOpen(false);

配置 DataSourceConfig

DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/ant?useUnicode=true&useSSL=false&characterEncoding=utf8");
dataSourceConfig.setDriverName("com.mysql.jdbc.Driver");
dataSourceConfig.setUsername("root");
dataSourceConfig.setPassword("password");

更多配置请查看:AutoGenerator 代码生成器配置

2. SQL Father

SQL Father 是能直接在浏览器使用的代码生成器,由鱼皮大佬开发并开源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Phoenixxxxxxxxxxxxx

感谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值