Mybatis学习笔记八:代码自动生成

上一章主要了解了动态SQL语句的使用,在本章中了解下如何自动生成Mybatis代码。由于很多增删查改的方法都大同小异,如果每一个都手动去写的话非常繁琐,由Mybatis统一生成就行了。

1、添加Mybatis插件

使用Maven的Mybatis插件对于生成代码来说比较方便:

<build>
        <plugins>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.2</version>
                <configuration>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                </configuration>
            </plugin>
        </plugins>
    </build>

2、编写配置文件

在resource文件夹下创建配置文件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>
    <!-- 配置mysql 驱动jar包路径.用了绝对路径 -->
    <classPathEntry location="/Users/zhangsiyuan/.m2/repository/mysql/mysql-connector-java/5.1.39/mysql-connector-java-5.1.39.jar" />

    <context id="yihaomen_mysql_tables" targetRuntime="MyBatis3">

        <!-- 为了防止生成的代码中有很多注释,比较难看,加入下面的配置控制 -->
        <commentGenerator>
            <property name="suppressAllComments" value="true" />
            <property name="suppressDate" value="true" />
        </commentGenerator>
        <!-- 注释控制完毕 -->

        <!-- 数据库连接 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://127.0.0.1:3306/mybatis-chapter1?characterEncoding=utf8"
                        userId="root"
                        password="zsfarther">
        </jdbcConnection>

        <javaTypeResolver >
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>

        <!-- 数据表对应的model 层  -->
        <javaModelGenerator targetPackage="com.dfz.mybatis.model" targetProject="src/main/java">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>

        <!-- sql mapper 隐射配置文件 -->
        <sqlMapGenerator targetPackage="com.dfz.mybatis.mapper"  targetProject="src/main/java">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>

        <!-- 在ibatis2 中是dao层,但在mybatis3中,其实就是mapper接口 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.dfz.mybatis.dao"  targetProject="src/main/java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>

        <!-- 要对那些数据表进行生成操作,必须要有一个. -->
        <table schema="mybatis-chapter1" tableName="user" domainObjectName="User"
               enableCountByExample="false" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false"
               selectByExampleQueryId="false">
        </table>

    </context>
</generatorConfiguration>

mybatis generator配置项很多,就不一一解释,基本的配置项为:
1)配置数据库连接信息;
2)配置对应的model层;
3)配置mapper映射文件;
4)配置dao接口;
5)配置需要生成哪些数据库表的信息。

运行mybatis-generator:generate即可:
这里写图片描述
结果如下:
这里写图片描述

3、总结

1)Mybatis生成器主要配置generatorConfig.xml文件;
2)使用maven进行生成要运行mybatis-generator:generate,且最要不要乱给配置文件起名;
3)注意配置文件的路径即可。
未尽之处后期再补,代码下载地址:https://github.com/EdwardEricZhang/MybatisFun

没有更多推荐了,返回首页