mybatis-generator使用Maven Plugin生成mapper

一开始我是打算用继承通用mapper来解决用手打(或者复制)一系列mapper重复代码的繁琐问题,后来在操作过程中发现bug太多而且填完一个坑又出现另一个坑最后放弃了通用mapper。

现在改成用mybatis-generator来自动生成mapper相关代码,还是挺好用的。


一、新建一个maven项目,勾上mysql与mybatis

这里写图片描述

2、把pom.xml的自动生成的原插件替换以下

<!--原插件-->
<plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
<!--替换后的插件-->
<plugins>

            <!--重点注意以下几点如果不再plugin里面添加依赖包得引用的话,-->
            <!--会找不到相关得jar包,在plugin外部得jar包,-->
            <!--他不会去找到并执行,所以要把plugin运行依赖得jar配置都放在里面-->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.2</version>
                <executions>
                    <execution>
                        <id>Generate MyBatis Artifacts</id>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                    <!-- <jdbcDriver>com.mysql.jdbc.Driver</jdbcDriver> -->
                    <!-- <jdbcURL>jdbc:mysql://127.0.0.1:3306/test</jdbcURL> -->
                    <!-- <jdbcUserId>test</jdbcUserId> -->
                    <!-- <jdbcPassword>test</jdbcPassword> -->
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>5.1.21</version>
                    </dependency>
                    <dependency>
                        <groupId>org.mybatis.generator</groupId>
                        <artifactId>mybatis-generator-core</artifactId>
                        <version>1.3.2</version>
                    </dependency>
                    <dependency>
                        <groupId>org.mybatis</groupId>
                        <artifactId>mybatis</artifactId>
                        <version>3.4.0</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>

二、在application.properties中加入数据库的配置

spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver


三、在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>
    <!-- 引入配置文件 -->
    <!--<properties resource="init.properties"/>-->
    <!-- 一个数据库一个context -->
    <context id="my" targetRuntime="MyBatis3">
        <commentGenerator>
            <property name="suppressDate" value="false"/>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <!-- jdbc连接 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/test" userId="root"
                        password="root"/>
        <!-- 生成实体类地址 -->
        <javaModelGenerator targetPackage="com.model"
                            targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!-- 生成mapper文件 -->
        <sqlMapGenerator targetPackage="com.mapper"
                         targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
        <!-- 生成mapxml文件 -->
        <javaClientGenerator targetPackage="com.mapper"
                             targetProject="src/main/java" type="XMLMAPPER">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>

        <!-- 配置表信息 -->
        <!--下面你可以重复添加对应多个表-->
        <!--后面选项:是否生成 example类 -->
        <table tableName="user" domainObjectName="User"
               enableCountByExample="false" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false"
               selectByExampleQueryId="false">
        </table>

    </context>
</generatorConfiguration>

四、双击ALT键,弹出maven,如图点击即可自动生成(你也可以用命令行来操作maven)

这里写图片描述

成功后可以看到所有东西都帮你建好了。
这里写图片描述

你再去把mapper不需要的方法删除即可。

扫描二维码关注公众号,回复: 3475598 查看本文章

猜你喜欢

转载自blog.csdn.net/h295928126/article/details/54090796