如何利用maven配置mybatis-generator自动生成mapper.xml

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34173549/article/details/83068547

首先配置pom.xml文件:

新增插件:

<plugin>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-maven-plugin</artifactId>
            <version>1.3.2</version>
            <configuration>
                <configurationFile>src/test/resources/config/generatorConfig.xml</configurationFile>//这是一个配置文件的位子
                <verbose>true</verbose>
                <overwrite>true</overwrite>
            </configuration>
        </plugin>

其中配置文件配置如下:

<?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="D:/work/m2/mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar" />//驱动包存放的位子
    <context id="context1" >
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/cao_taojianzhi" userId="root" password="root" />
        <javaModelGenerator targetPackage="com.myweb.dao.entity" targetProject="src/main/java">
            <property name="aaa" value="true" />//实体存放的位子
        </javaModelGenerator>
        <sqlMapGenerator targetPackage="com.myweb.dao.mapper"  targetProject="src/main/java" >
            <property name="aaa" value="true" />//mapper.xml存放的位子
        </sqlMapGenerator>
        <table schema="" tableName="job" domainObjectName="job"//表名和实体名
        enableCountByExample="true"
        enableUpdateByExample="true"
        enableDeleteByExample="true"
        enableSelectByExample="true"
        selectByExampleQueryId="true">
    </table>
</context>
        </generatorConfiguration>

配置完了之后,直接运行maven命令:mybatis-generator:generate或者直接点击maven中的插件运行,如图所示:

mvn mybatis-generator:generate

在这里我执行命令会报错,但是点击执行就可以自动生成,不知道为什么。顺便标注一下,以便将来查看为什么出错。

补充:

当数据库里面的字段为text类型时,生成的mapper文件会有XXXWithBLOBs,需要在配置里面配置:

<table domainObjectName="User" tableName="test_user">  
    <columnOverride column="address" javaType="java.lang.String" jdbcType="VARCHAR" />  
</table>  

猜你喜欢

转载自blog.csdn.net/qq_34173549/article/details/83068547