【Mybatis-Generator插件生成DTO、Mapper.java、Mapper.xml】

本文介绍了如何利用Mybatis-Generator提升开发效率,重点讲解了Maven插件配置和执行步骤,以生成Model实体、Mapper接口及XML配置文件。

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

使用Mybatis开发项目时,为了提升开发效率,我们通常会使用一些框架生成一些简单的SQL来提高开发效率。下面我们来介绍一下Mybatis-Generator生成代码的方式。废话不多说,直接上代码。

1. Mybatis-Generator的自我介绍

  • 官网的MyBatis Generator使用介绍,请点击下面的链接:
    http://mybatis.org/generator/index.html
  • MyBatis Generator,简称MBG,当前版本是1.4.0,发布时间是:2019年11月24日
  • MyBatis Generator 生成的文件包含三类:
    (1)Model实体文件,一个数据库表对应生成一个 Model 实体;
    (2)Mapper接口文件,数据数操作方法都在此接口中定义;
    (3)Mapper XML配置文件

2. Maven插件生成代码

  • resources文件夹下创建一个目录mybatis-generator,在目录mybatis-generator下创建文件generatorConfiguration.xml(此处的目录名可任意取)
    在这里插入图片描述
  • pom.xml中添加mybatis-generator的插件
<plugin>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-maven-plugin</artifactId>
    <version>1.3.2</version>
    <configuration>
        <!--mybatis-generator配置文件的位置-->
        <configurationFile>src/main/resources/mybatis-generator/generatorConfiguration.xml</configurationFile>
        <verbose>true</verbose>
        <overwrite>true</overwrite>
    </configuration>
    <executions>
        <execution>
            <id>Generate MyBatis Artifacts</id>
            <goals>
                <goal>generate</goal>
            </goals>
        </execution>
    </executions>
    
Mybatis-Plus GeneratorMybatis-Plus 提供的代码生成器,可以快速生成 Mybatis-Plus 所需的 Entity、Mapper、Service、Controller 等类文件。但是默认生成的代码只包含 Entity 和 Mapper,如果需要生成其他文件如 DTO、VO、Convertor 等,则需要自定义模板来实现。 以下是使用 Mybatis-Plus Generator 自定义模板生成 DTO、VO、Convertor 的步骤: 1. 在 pom.xml 中添加依赖: ```xml &lt;dependency&gt; &lt;groupId&gt;com.baomidou&lt;/groupId&gt; &lt;artifactId&gt;mybatis-plus-generator&lt;/artifactId&gt; &lt;version&gt;${mybatis-plus.version}&lt;/version&gt; &lt;/dependency&gt; ``` 2. 在 resources 目录下创建 mybatis-plus-generator 目录,并创建 generatorConfig.xml 配置文件,在其中配置需要生成的表名、文件路径、包名等信息。示例配置如下: ```xml &lt;generatorConfiguration&gt; &lt;dataSource type=&quot;com.zaxxer.hikari.HikariDataSource&quot;&gt; &lt;property name=&quot;driverClassName&quot; value=&quot;${jdbc.driverClassName}&quot; /&gt; &lt;property name=&quot;jdbcUrl&quot; value=&quot;${jdbc.url}&quot; /&gt; &lt;property name=&quot;username&quot; value=&quot;${jdbc.username}&quot; /&gt; &lt;property name=&quot;password&quot; value=&quot;${jdbc.password}&quot; /&gt; &lt;/dataSource&gt; &lt;packageInfo&gt; &lt;parent&gt;com.example.demo&lt;/parent&gt; &lt;dto&gt;dto&lt;/dto&gt; &lt;vo&gt;vo&lt;/vo&gt; &lt;convertor&gt;convertor&lt;/convertor&gt; &lt;/packageInfo&gt; &lt;strategy&gt; &lt;tablePrefix&gt;tbl_&lt;/tablePrefix&gt; &lt;include&gt;tbl_user&lt;/include&gt; &lt;/strategy&gt; &lt;template&gt; &lt;mapper&gt;/templates/mapper.xml.vm&lt;/mapper&gt; &lt;entity&gt;/templates/entity.java.vm&lt;/entity&gt; &lt;dto&gt;/templates/dto.java.vm&lt;/dto&gt; &lt;vo&gt;/templates/vo.java.vm&lt;/vo&gt; &lt;convertor&gt;/templates/convertor.java.vm&lt;/convertor&gt; &lt;/template&gt; &lt;globalConfig&gt; &lt;outputDir&gt;src/main/java&lt;/outputDir&gt; &lt;fileOverride&gt;true&lt;/fileOverride&gt; &lt;open&gt;false&lt;/open&gt; &lt;enableCache&gt;false&lt;/enableCache&gt; &lt;author&gt;mybatis-plus-generator&lt;/author&gt; &lt;kotlin&gt;false&lt;/kotlin&gt; &lt;/globalConfig&gt; &lt;/generatorConfiguration&gt; ``` 其中: - dataSource:数据源配置 - packageInfo:包名配置,dto、vo、convertor 分别对应生成的文件夹 - strategy:生成策略,tablePrefix 为表前缀,include 为需要生成的表名 - template:模板配置,mapper.xml、entity、dto、vo、convertor 分别对应生成的文件类型和模板文件路径 - globalConfig:全局配置,outputDir 为输出文件夹,fileOverride 为是否覆盖已有文件,author 为作者名 3. 在 templates 目录下创建 dto.java.vm、vo.java.vm、convertor.java.vm 模板文件,并根据需要进行自定义。例如生成 DTO 文件的模板如下: ```java package $packageInfo.dto; import lombok.Data; @Data public class $!{tableInfo.name}DTO { #foreach($field in $tableInfo.fields) private $field.propertyType $field.propertyName; #end } ``` 其中 $!{tableInfo.name} 表示表名,$field.propertyType 和 $field.propertyName 分别表示字段类型和字段名。 4. 在代码中使用 Mybatis-Plus Generator 生成代码。例如在 main 方法中调用 generate() 方法: ```java public static void main(String[] args) { AutoGenerator generator = new AutoGenerator(); generator.setTemplateEngine(new VelocityTemplateEngine()); generator.setTemplate(new TemplateConfig().setXml(null)); // 使用配置文件生成代码 generator.setConfig(new FileGeneratorConfigBuilder().getConfig()); generator.execute(); } ``` 其中 setTemplateEngine() 设置模板引擎为 Velocity,setTemplate() 设置生成XML 文件为空,setConfig() 从配置文件中获取配置。 5. 运行 main 方法,即可生成对应的 DTO、VO、Convertor 文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值