MyBatis Generator Maven 插件在 Docker 中的使用

· 约 9 分钟读完

MyBatis Generator 是一个基于 MyBatis 的代码生成器,它可以根据数据库表结构自动生成对应的 Java 实体类、Mapper 接口和 XML 映射文件。而 MyBatis Generator Maven 插件则是将 MyBatis Generator 集成到 Maven 构建过程中的工具,使得在项目构建时可以自动执行代码生成任务。

在 Docker 中使用 MyBatis Generator Maven 插件可以帮助我们更加方便地执行代码生成任务,并且可以使得代码生成的环境与实际部署环境保持一致,避免由于环境差异导致的问题。

Docker 安装

首先需要安装 Docker,可以参考官方文档进行安装:https://docs.docker.com/get-docker/

创建 Docker 镜像

接下来需要创建一个 Docker 镜像,该镜像包含了 MyBatis Generator Maven 插件和项目代码。

1. 编写 Dockerfile

在项目根目录下创建 Dockerfile,内容如下:

首先指定了基础镜像为 Maven 3.6.3 和 JDK 8,然后将当前目录下的所有文件复制到容器中的 /app 目录下,并执行 Maven 构建任务。最后在容器启动时执行 MyBatis Generator 代码生成任务。

2. 构建 Docker 镜像

在命令行中执行以下命令构建 Docker 镜像:

其中 -t 参数指定了镜像名称为 mybatis-generator,. 表示当前目录为构建上下文。

3. 启动 Docker 容器

执行以下命令启动 Docker 容器:

其中 -v 参数指定了将本地项目目录挂载到容器中的 /app 目录下,这样容器中的代码就可以直接读取本地项目目录中的文件。

MyBatis Generator Maven 插件配置

在项目的 pom.xml 文件中添加 MyBatis Generator Maven 插件的配置:

其中 <configuration> 部分为插件的配置,这里开启了 verbose 和 overwrite 选项,表示输出详细日志和覆盖已有文件。

在 <dependencies> 部分添加了 MySQL 驱动依赖,根据实际情况修改版本号。

示例代码

以 Spring Boot 项目为例,假设已经有一个名为 mybatis-demo 的项目,其中已经配置好了数据库连接和 MyBatis 依赖。

1. 创建数据库表

首先创建一个名为 user 的数据库表,包含 id、name 和 age 三个字段。

2. 编写 MyBatis Generator 配置文件

在项目的 src/main/resources 目录下创建一个名为 generatorConfig.xml 的文件,内容如下:

其中 <jdbcConnection> 部分为数据库连接配置,根据实际情况修改数据库 URL、用户名和密码。

<javaModelGenerator> 部分为 Java 实体类生成配置,将生成的实体类放在了 com.example.mybatisdemo.model 包下。

<sqlMapGenerator> 部分为 XML 映射文件生成配置,将生成的 XML 文件放在了 resources/mapper 目录下。

<javaClientGenerator> 部分为 Mapper 接口生成配置,将生成的 Mapper 接口放在了 com.example.mybatisdemo.mapper 包下。

<table> 部分为对应数据库表的配置,这里只生成了 User 实体类、UserMapper 接口和 user.xml 映射文件。

3. 执行 MyBatis Generator

在项目根目录下执行以下命令即可执行 MyBatis Generator:

其中 $(pwd) 表示当前目录的绝对路径,这里将当前目录挂载到容器中的 /app 目录下。

执行完毕后,可以在项目的 src/main/java 和 src/main/resources 目录下看到生成的文件。可以将这些文件直接复制到项目中使用,也可以通过 Maven 构建自动将它们打包进 JAR 文件中。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67d0f109a941bf71342053b3