mybatis generatorConfig.xml如何执行生成实体类和映射文件

本文介绍如何通过MyBatis Generator自动生成数据库映射文件。主要包括在项目中配置GeneratorConfig.xml文件,以及如何通过Maven命令触发生成过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.首先在src/main/source目录下创建\generatorConfig.xml配置文件

2.配置文件后执行这个配置文件的方法:右击项目--run as--maven build..

3.在弹出对话框里面点击输入命令:mybatis-generator:generate(不用写mvn前缀),点击run即可

  



### MyBatis Generator `generatorConfig.xml` 文件配置详解 #### 1. 基本结构概述 `generatorConfig.xml` 是 MyBatis Generator (MBG) 的核心配置文件,用于定义生成代码的具体规则目标。它主要包括以下几个部分:全局设置、数据源连接信息、JDBC 连接器以及具体的上下文(context) 表(table) 定义。 以下是基本的 XML 结构框架: ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <generatorConfiguration> <!-- 数据库驱动及相关依赖 --> <classPathEntry location="/path/to/your/jdbc_driver.jar"/> <!-- 上下文定义 --> <context id="DB2Tables" targetRuntime="MyBatis3"> <!-- JDBC 连接配置 --> <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=UTC" userId="root" password="password"/> <!-- Java Model 生成器 --> <javaModelGenerator targetPackage="test.model" targetProject="E:\MyProject\src\main\java"> <property name="enableSubPackages" value="true"/> <property name="trimStrings" value="true"/> </javaModelGenerator> <!-- SQL Map 生成器 --> <sqlMapGenerator targetPackage="test.mapper.resources" targetProject="E:\MyProject\src\main\resources"/> <!-- Mapper 接口生成器 --> <javaClientGenerator type="XMLMAPPER" targetPackage="test.mapper" targetProject="E:\MyProject\src\main\java"/> <!-- 表映射 --> <table tableName="users" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false"/> </context> </generatorConfiguration> ``` --- #### 2. 关键标签解析 ##### (1)`<context>` 标签 `<context>` 是整个配置的核心节点,表示一组生成逻辑。其主要属性如下: - **id**: 当前 context 的唯一标识符。 - **targetRuntime**: 指定 MBG 的运行环境版本,默认为 `MyBatis3`[^1]。 ##### (2)`<jdbcConnection>` 标签 此标签用于定义数据库连接信息,具体字段含义如下: - **driverClass**: 数据库驱动类名。 - **connectionURL**: 数据库连接 URL。 - **userId/password**: 用户名密码。 ##### (3)`<javaModelGenerator>` 标签 负责生成实体类(Java Bean),常用属性有: - **targetPackage**: 实体类所在的包路径。 - **targetProject**: 输出目录位置。 - **properties**: 可选配置项,如启用子包分割 (`enableSubPackages`) 或自动去除字符串前后空白字符 (`trimStrings`)。 示例配置见引用[^2]: ```xml <javaModelGenerator targetPackage="test.model" targetProject="E:\MyProject\src\main\java"> <property name="enableSubPackages" value="true"/> <property name="trimStrings" value="true"/> </javaModelGenerator> ``` ##### (4)`<sqlMapGenerator>` 标签 用于生成 Mapper 映射文件(SQL 脚本)。常见属性包括: - **targetPackage**: 映射文件所在资源包路径。 - **targetProject**: 输出目录。 ##### (5)`<javaClientGenerator>` 标签 定义 Mapper 接口及其对应的实现形式。关键属性解释: - **type**: 支持两种模式——`ANNOTATEDMAPPER`(注解风格)或 `XMLMAPPER`(XML 风格)。 - **targetPackage/targetProject**: 同上。 ##### (6)`<table>` 标签 指定需要生成代码的数据表,支持多种自定义选项: - **tableName**: 数据库中的实际表名。 - **domainObjectName**: 对应的实体类名称。 - **enableXXXByExample**: 是否开启基于条件查询的功能方法。 --- #### 3. 扩展功能介绍 除了基础配置外,还可以通过 `<plugin>` 插入额外功能模块来增强灵活性。例如,在某些场景中可能需要覆盖默认行为或者引入特定工具类。以下是一个简单的插件声明实例: ```xml <context ... > ... <plugin type="org.example.CustomPlugin"> <property name="someProperty" value="value"/> </plugin> ... </context> ``` 此外,如果希望替换内置列处理机制,则可以通过 `introspectedColumnImpl` 属性指定新的实现类。 --- #### 4. Maven 构建集成 当项目采用 Maven 管理时,可通过官方插件简化执行流程[^3]。只需在 `pom.xml` 中添加相应依赖并绑定命令即可完成自动化操作。 --- ### 总结 上述内容涵盖了 `generatorConfig.xml` 的典型用法及高级特性应用技巧。合理调整各组件参数能够显著提升开发效率,满足多样化需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值