MyBatis-Plus-Generator:代码自动生成工具全新体验
2023-01-18 19:52:57
使用 MyBatis-Plus-Generator 加快 Java 开发
简介
对于 Java 开发人员来说,MyBatis-Plus-Generator 是一个至关重要的工具,它可以自动生成 CRUD 和其他数据库交互代码,从而节省大量时间和精力。本文将深入介绍如何使用 MyBatis-Plus-Generator 来提高您的开发效率,包括自定义配置、模板和导出过程。
一、入门
1. 添加依赖项
在您的 Maven 项目中添加 MyBatis-Plus-Generator 依赖项:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.2</version>
</dependency>
2. 创建配置脚本
在项目的 test 目录下,创建一个名为 generatorConfig.xml
的脚本文件,其中包含代码生成器的配置。以下是示例配置:
<generatorConfiguration>
<context id="myBatisContext" targetRuntime="MyBatis3">
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/test_db" userId="root" password="password" />
<table tableName="user">
<generatedKey column="id" sqlStatement="SELECT LAST_INSERT_ID()" identity="true" />
</table>
</context>
</generatorConfiguration>
二、自定义
1. 导出模板
MyBatis-Plus-Generator 提供了默认模板,但您可以根据需要进行自定义。在 resources/template
目录下创建您自己的模板文件。例如,Entity.java.ftl
用于自定义实体类模板。
2. 导出代码
执行以下命令导出代码:
mvn generate-sources
代码将生成到 target/generated-sources/java
目录下。
三、常见问题解答
1. 如何配置主键生成策略?
在 <table>
元素中指定 generatedKey
元素来配置主键生成策略,如下所示:
<generatedKey column="id" sqlStatement="SELECT LAST_INSERT_ID()" identity="true" />
2. 如何使用 Lombok 集成?
在 javaTypeResolver
元素中添加以下属性:
<property name="annotations" value="true" />
<property name="autoRecords" value="true" />
3. 如何生成多个表的代码?
在 <generatorConfiguration>
元素中添加多个 <context>
元素,每个元素对应一个表。
4. 如何处理外键约束?
使用 <relationship>
元素配置外键约束,如下所示:
<relationship table="order_detail" column="order_id" referencedColumn="id" />
5. 如何排除某些列?
在 <table>
元素中使用 <ignoreColumn>
元素排除某些列,如下所示:
<ignoreColumn column="deleted_at" />
结论
MyBatis-Plus-Generator 是一款强大的代码生成工具,它可以显著提高 Java 开发的效率。通过自定义配置和模板,您可以生成满足特定需求的代码。充分利用 MyBatis-Plus-Generator 的功能,让您的开发项目更上一层楼。