返回

MyBatis-Plus-Generator:代码自动生成工具全新体验

后端

使用 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 的功能,让您的开发项目更上一层楼。