0%

mybatis mapper 生成代码

过程:
1、在pom.xml加插件配置
在plugins加入:
			<plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>${jdk.version}</source>
                    <target>${jdk.version}</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.6</version>
                <configuration>
                    <configurationFile>
                        ${basedir}/src/main/resources/generator/generatorConfig.xml
                    </configurationFile>
                    <overwrite>true</overwrite>
                    <verbose>true</verbose>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>5.1.29</version>
                    </dependency>
                    <dependency>
                        <groupId>tk.mybatis</groupId>
                        <artifactId>mapper</artifactId>
                        <version>${mapper.version}</version>
                    </dependency>
                </dependencies>
            </plugin>


2、建generator/generatorConfig.xml配置文件
<!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="config.properties"/>

&lt;context id=&quot;Mysql&quot; targetRuntime=&quot;MyBatis3Simple&quot; defaultModelType=&quot;flat&quot;&gt;
    &lt;property name=&quot;beginningDelimiter&quot; value=&quot;`&quot;/&gt;
    &lt;property name=&quot;endingDelimiter&quot; value=&quot;`&quot;/&gt;

    &lt;plugin type=&quot;tk.mybatis.mapper.generator.MapperPlugin&quot;&gt;
        &lt;property name=&quot;mappers&quot; value=&quot;tk.mybatis.mapper.common.Mapper&quot;/&gt;
        &lt;property name=&quot;caseSensitive&quot; value=&quot;true&quot;/&gt;
    &lt;/plugin&gt;

    &lt;jdbcConnection driverClass=&quot;${jdbc.driverClass}&quot;
                    connectionURL=&quot;${jdbc.url}&quot;
                    userId=&quot;${jdbc.user}&quot;
                    password=&quot;${jdbc.password}&quot;&gt;
    &lt;/jdbcConnection&gt;

    &lt;javaModelGenerator targetPackage=&quot;com.xhs.oa.entity&quot;
                        targetProject=&quot;src/main/java&quot;/&gt;

    &lt;sqlMapGenerator targetPackage=&quot;com.xhs.oa.mapper&quot;
                     targetProject=&quot;src/main/java&quot;/&gt;

    &lt;javaClientGenerator targetPackage=&quot;com.xhs.oa.mapper&quot;
                         targetProject=&quot;src/main/java&quot;
                         type=&quot;XMLMAPPER&quot;/&gt;

    &lt;table tableName=&quot;over_budget_apply&quot;&gt;
        &lt;generatedKey column=&quot;id&quot; sqlStatement=&quot;JDBC&quot;/&gt;
    &lt;/table&gt;
&lt;/context&gt;

</generatorConfiguration>


3、建config.properties文件,放在resources目录下,填数据库连接信息
示例:

jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://192.168.3.4:3306/test
jdbc.user=xxx
jdbc.password=123456

4、运行 mvn mybatis-generator:generate 生成

遇到的问题:

报generatorConfig.xml 找不到,对比代码输出的路径和文件路径,发现少了xml后缀

报缺少config.properties文件,的确是缺少,但不知道放哪里好,程序没有报路径,后来查到是配置文件这节配置的

报 Cannot instantiate object of type tk.mybatis.mapper.generator.MapperPlugin
maven依赖,因为pom.xml里上面这个tk.mybatis引入过了,以为插件这里就不用引了,还是要的

参考:https://github.com/abel533/Mapper/wiki/4.1.mappergenerator