在后端开发过程中大多数的工作都是在重复编写各种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 是能直接在浏览器使用的代码生成器,由鱼皮大佬开发并开源。