mybatis generator 的使用(生成 Example 工具类,亲测好用!!!)

最近在写项目时,想用 generator 工具自动生成数据库表对应的实体类、mapper 等文件,但是找了好多教程后发现总是有各种问题,各种奇怪的报错,最终终于发现了一个可以成功的代码,在此记录下来。

1. pomx.ml 添加 <plugin>

    <build>
        <plugins>
            <!-- 逆向工程插件 -->
            <!--mybatis 逆向工程插件-->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.7</version>
                <dependencies>
                	<!-- 我的本地数据库版本是 mysql8 -->
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>8.0.15</version>
                        <scope>runtime</scope>
                    </dependency>
                </dependencies>
                <executions>
                    <execution>
                        <id>Generate MyBatis Artifacts</id>
                        <phase>package</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <!--允许移动生成的文件 -->
                    <verbose>true</verbose>
                    <!-- 是否覆盖 -->
                    <overwrite>true</overwrite>
                    <!-- 自动生成的配置 -->
                    <configurationFile>
                        src/main/resources/generatorConfig.xml</configurationFile>
                </configuration>
            </plugin>

        </plugins>
    </build>

2. 在 resources 目录下新建 generatorConfig.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>
    <!--数据库驱动-->
    <!--
        如果IDE(eclipse或者idea) 项目里导入了jar包,那么就不需要配置了jar包的绝对路径了
         <classPathEntry    location="e:/project/mybatis/lib/mysql-connector-java-5.0.8-bin.jar"/>
    -->
    <context id="DB2Tables"    targetRuntime="MyBatis3">
        <!-- 生成 toString-->
        <plugin type="org.mybatis.generator.plugins.ToStringPlugin" />
        <!--生成mapper.xml时覆盖原文件-->
        <plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin" />

        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <property name="suppressAllComments" value="false"/>
        </commentGenerator>
        <!--数据库链接地址账号密码-->
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/self_service_rounds?serverTimezone=UTC&amp;characterEncoding=utf-8&amp;useSSL=false"
                        userId="root" password="123456">
        </jdbcConnection>
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <!--生成Model类存放位置-->
        <javaModelGenerator targetPackage="com.ssm.selfservicerounds.entity" targetProject="src\main\java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!--生成映射文件存放位置-->
        <sqlMapGenerator targetPackage="mapper" targetProject="src\main\resources">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
        <!--生成Dao类存放位置-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.ssm.selfservicerounds.mapper" targetProject="src\main\java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>


        <!--生成对应表及类名-->
        <table tableName="tb_user" domainObjectName="User">
            <property name="my.isgen.usekeys" value="true"/>
            <generatedKey column="id" sqlStatement="JDBC"/>
        </table>

    </context>
</generatorConfiguration>

3. 运行 generator 插件

在这里插入图片描述
直接点击上图中的 mybatis-generator:generate 即可

4. 效果

在这里插入图片描述
出现 BUILD SUCCESS 即表示构建成功。
查看项目目录,即可看到新增的实体类和 mapper,目录结构如下图所示:
在这里插入图片描述

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
MyBatis Generator 是一个非常方便的代码生成工具,可以根据数据库中的表结构自动生成对应的 Java 实体、Mapper 接口和 XML 配置文件,提高开发效率。在使用 MyBatis Generator 时,我们可以通过编写自定义插件来扩展其功能,使其更符合我们的需求。 下面是一个简单的示例,演示如何在 MyBatis Generator 中自定义生成代码。 首先,我们需要创建一个 Java ,继承自 org.mybatis.generator.api.PluginAdapter ,并实现其方法: ```java public class ExamplePlugin extends PluginAdapter { @Override public boolean validate(List<String> warnings) { // 在此方法中可以校验插件的参数,如果校验失败需要返回 false return true; } @Override public void initialized(IntrospectedTable introspectedTable) { // 在此方法中可以获取表的信息,并对生成的代码进行自定义操作 } } ``` 该中最重要的是 `initialized` 方法,它会在生成代码时被调用,我们可以在其中获取表的信息,并对生成的代码进行自定义操作。比如,我们可以在该方法中添加自定义注解、修改生成的 Java 实体的属性型等等。 接下来,我们需要在 MyBatis Generator 的配置文件中指定该插件的路径。可以在 `<generatorConfiguration>` 标签中添加如下节点: ```xml <plugin type="com.example.ExamplePlugin"> <!-- 在此可以添加插件的参数 --> </plugin> ``` 其中,`type` 属性指定了插件的完整路径。 最后,我们运行 MyBatis Generator 即可生成自定义代码。如果使用 Maven,可以在 pom.xml 文件中添加如下插件: ```xml <build> <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.4.0</version> <configuration> <configurationFile>src/main/resources/mybatis-generator.xml</configurationFile> <overwrite>true</overwrite> </configuration> <dependencies> <dependency> <groupId>com.example</groupId> <artifactId>example-plugin</artifactId> <version>1.0.0</version> </dependency> </dependencies> </plugin> </plugins> </build> ``` 其中,`configurationFile` 指定了 MyBatis Generator 的配置文件路径,`overwrite` 指定是否覆盖已存在的文件。在 `<dependencies>` 标签中,我们需要添加自定义插件的依赖。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悄悄地努力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值