mybatis mapper.xml生成_逆向工程Mybatis Generator代码生成

最近学习 SSM 框架和 Spring Boot 过程中,在编写数据库对应实体类、Mapper 接口以及相应的 XML 映射文件上面花费了较多的时间,并且简单的增删改查操作写多了也让人感到尤为枯燥与繁琐。 在我饱受此煎熬之后,杰哥(带领我实习的顾问)终于于心不忍了,丢了我一句话:“去学学mybatis generator插件的使用” 。我还是抱着 “只要学不秃,就往秃里学” 的心态,又去百度了一波,不过这个插件的使用确实挺简单,很容易上手实现,而且入了这个 “坑” 之后,我就不想再爬出来了。 在学习 mybatis generator 插件在 Spring Boot 项目里使用的过程中,我又 get 到了可以把这个自动生成代码的功能单独创建成一个简单的 Java 项目,用来专门自动生成代码(麻麻再也不用担心我写CURD了 a6e47b65a90e11f2ff87648352a48077.png )。先来为大家介绍一下这个单独的逆向工程项目,然后再分享一下如何使用mybatis-generator插件。

1. Mybatis-Generator 项目

本项目所有源代码及 jar 包下载地址,链接:https://pan.baidu.com/s/1OnbFOhnePrB45kzXptm4MQ   提取码:03vo

1. 创建简单的 Java 项目

使用 IDEA 创建一个简单的 Java 工程项目,并创建 lib 文件夹,添加如下的两个 jar 包。最终的项目结构如下图所示。

4d2b31b514cb3d215f877068781573ea.png

把此 lib 文件夹添加为项目依赖,如下图所示。

042894c661c98a8a5b32d84edbbd43f5.png

2. 编写 generatorConfig.xml 文件

在src目录下创建 generatorConfig.xml 文件,其内容如下(解释都在注释中):

<?xml  version="1.0" encoding="UTF-8"?>generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration><context id="mysqlTables"  targetRuntime="MyBatis3"><commentGenerator><property name="suppressDate" value="true"/><property name="suppressAllComments" value="true"/>commentGenerator><jdbcConnection driverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://localhost:3306/ssm"userId="root"password="123456"
        /><javaTypeResolver><property name="forceBigDecimals" value="false"/>javaTypeResolver><javaModelGenerator targetPackage="com.eric.pojo" targetProject=".\src"><property name="enableSubPackages" value="true"/><property name="trimStrings" value="true"/>javaModelGenerator><sqlMapGenerator targetPackage="com.eric.mapperXml" targetProject=".\src"><property name="enableSubPackages" value="true"/>sqlMapGenerator><javaClientGenerator type="XMLMAPPER" targetPackage="com.eric.mapper" targetProject=".\src"><property name="enableSubPackages" value="true"/>javaClientGenerator><table tableName="user"domainObjectName="User"enableCountByExample="false"enableUpdateByExample="false"enableDeleteByExample="false"enableSelectByExample="false"selectByExampleQueryId="false"
        />context>generatorConfiguration>

需要根据自己实际情况更改的内容:

  • :根据自己的数据库名称、用户、密码进行更改。注意使用不同的数据库驱动 jar 包,其URL 要求也不一样,可以根据自己的版本添加 serverTimeZone=GMT 等。

  • 的功能分别是自动生成模型类、xml文件、mapper接口。这些标签中的 targetPackage 内容可以根据自己的目录进行更改。

  • 标签是要生成的数据库表与实体类的对应关系,根据自己数据库中的表名称进行更改。

    3. Main 方法实现自动生成

    在src目录下创建 Main 类,其源代码如下:

    import org.mybatis.generator.api.MyBatisGenerator;import org.mybatis.generator.config.Configuration;import org.mybatis.generator.config.xml.ConfigurationParser;import org.mybatis.generator.internal.DefaultShellCallback;import java.io.File;import java.util.ArrayList;import java.util.List;/**
     * mapper自动生成器
     *
     * @Date: 2020/8/6 15:17
     * @author: Eric
     */public class Main {public static void main(String[] args) throws Exception{
            List warnings = new ArrayList<>();boolean overwrite = true;
            File configFile = new File("src/generatorConfig.xml");
            ConfigurationParser cp = new ConfigurationParser(warnings);
            Configuration config = cp.parseConfiguration(configFile);
            DefaultShellCallback callback = new DefaultShellCallback(overwrite);
            MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,callback,warnings);
            myBatisGenerator.generate(null);
        }
    }

    至此自动生成器就完成了。运行 Main,自动生成的文件如下:

    3a512ff4e490b78742fcf014b0b8c053.png

    然后把这些文件复制到我们的项目中就可以直接使用了。

    2. mybatis-generator 插件的使用

    1. 添加依赖

    在pom依赖中添加mybatis-generator插件并添加使用到的jar包依赖
    <build><plugins><plugin><groupId>org.mybatis.generatorgroupId><artifactId>mybatis-generator-maven-pluginartifactId><version>1.3.5version><configuration><configurationFile>
                     src/main/resources/generatorConfig.xmlconfigurationFile><verbose>trueverbose><overwrite>trueoverwrite>configuration>plugin>plugins>build>

    需要添加的jar包依赖:MySQL的驱动、mybatis generator核心jar包

    <dependencies><dependency><groupId>mysqlgroupId><artifactId>mysql-connector-javaartifactId><version>5.1.35version><scope>runtimescope>dependency><dependency><groupId>org.mybatis.generatorgroupId><artifactId>mybatis-generator-coreartifactId><version>1.3.5version>dependency>dependencies>

    2. 编写 generatorConfig.xml

    在上述  定义的文件目录(本例中为src/main/resources目录)下创建 generatorConfig.xml 文件,其文件内容如上述的 generatorConfig.xml 文件一致,不过此时要根据自己的实际需要更改相应的生成目录就可以了。

    3. 自动生成

    在 Maven 插件下选择mybatis-generator并执行generate命令即可在相应的目录下自动生成代码。如下:

    82c1b8af46fafcb5cd0bc425e405cd79.png

    --------------------- 完 ---------------------

    4be9ede4c6d393be74271ad90cb81ec6.gif

    e3e75c22d121245fa4a657e816178fae.gif

    ?8e3308cad003f10bcc28388baaefa40d.gif快速掌握Git和GitHub的基本使用

    ?8e3308cad003f10bcc28388baaefa40d.gif手撸一个 SSM 的登录功能

    ?8e3308cad003f10bcc28388baaefa40d.gifJava中volatile关键字的最全总结

    d0cce6fb98633fd825106f3071ba898e.png

    9968940187d9f9ef31cfc06084660e7f.gif

    写留言(99+)

    「分享、点赞、在看」be0a16a0ff2a1094629e6c65eda49fc9.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值