在pom.xml中配置


 

    <dependencies>

        <!--mybatis-->

        <dependency>

            <groupId>org.mybatis.spring.boot</groupId>

            <artifactId>mybatis-spring-boot-starter</artifactId>

            <version>1.3.1</version>

        </dependency>

        <!--mapper-->

        <dependency>

            <groupId>tk.mybatis</groupId>

            <artifactId>mapper-spring-boot-starter</artifactId>

            <version>1.2.4</version>

        </dependency>

        <!--pagehelper-->

        <dependency>

            <groupId>com.github.pagehelper</groupId>

            <artifactId>pagehelper-spring-boot-starter</artifactId>

            <version>1.2.3</version>

        </dependency>

        <!-- mapper生成依赖 -->

        <dependency>

            <groupId>org.mybatis.generator</groupId>

            <artifactId>mybatis-generator-core</artifactId>

            <version>1.3.2</version>

            <scope>compile</scope>

            <optional>true</optional>

        </dependency>

        <dependency>

            <groupId>mysql</groupId>

            <artifactId>mysql-connector-java</artifactId>

            <version>5.1.34</version>

        </dependency>

    </dependencies>

 

    <build>

        <plug×××>

            <plugin>

                <groupId>org.mybatis.generator</groupId>

                <artifactId>mybatis-generator-maven-plugin</artifactId>

                <version>1.3.2</version>

                <configuration>

                    <configurationFile>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.34</version>

                    </dependency>

                    <dependency>

                        <groupId>tk.mybatis</groupId>

                        <artifactId>mapper-generator</artifactId>

                        <version>1.0.0</version>

                    </dependency>

                </dependencies>

            </plugin>

        </plug×××>

    </build>

 以上配置包含以下内容,需要在相应的位置创建generatorConfig.xml

20190528095916634.png



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="generator/db.properties"/>

 

    <!--classPathEntry:数据库的JDBC驱动,换成你自己的驱动位置 可选 -->

    <!--<classPathEntry location="D:\generator_mybatis\mysql-connector-java-5.1.24-bin.jar" /> -->

 

    <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat"><!--defaultModelType="flat" 大数据字段,不分表 -->

        <!-- 自动识别数据库关键字,默认false,如果设置为true,根据SqlReservedWords中定义的关键字列表;

        一般保留默认值,遇到数据库关键字(Java关键字),使用columnOverride覆盖 -->

        <property name="autoDelimitKeywords" value="true"/>

        <!-- 生成的Java文件的编码 -->

        <property name="javaFileEncoding" value="utf-8"/>

        <!-- beginningDelimiter和endingDelimiter:指明数据库的用于标记数据库对象名的符号,比如ORACLE就是双引号,MYSQL默认是`反引号; -->

        <property name="beginningDelimiter" value="`"/>

        <property name="endingDelimiter" value="`"/>

        <!-- 格式化java代码 -->

        <property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter"/>

        <!-- 格式化XML代码 -->

        <property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter"/>

        <plugin type="org.mybatis.generator.plug×××.SerializablePlugin"/>

        <plugin type="org.mybatis.generator.plug×××.ToStringPlugin"/>

        <!--baseMap所在位置-->

        <plugin type="tk.mybatis.mapper.generator.MapperPlugin">

            <property name="mappers" value="com.pzg.code.commons.utils.MyMapper"/>

        </plugin>

        <!-- 注释 -->

        <commentGenerator>

            <property name="suppressAllComments" value="false"/><!-- 是否取消注释 -->

            <property name="suppressDate" value="true"/> <!-- 是否生成注释代时间戳-->

        </commentGenerator>

        <!-- jdbc连接 -->

        <jdbcConnection driverClass="${spring.datasource.driver-class-name}"

                        connectionURL="${spring.datasource.url}"

                        userId="${spring.datasource.username}"

                        password="${spring.datasource.password}">

        </jdbcConnection>

        <!-- 类型转换 -->

        <javaTypeResolver>

            <!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->

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

        </javaTypeResolver>

        <!-- 生成实体 -->

        <javaModelGenerator targetPackage="com.pzg.code.one.entity"

                            targetProject="src/main/java">

            <property name="enableSubPackages" value="false"/>

            <property name="trimStrings" value="true"/>

        </javaModelGenerator>

        <!-- 生成xml文件 -->

        <sqlMapGenerator targetPackage="mapper"

                         targetProject="src/main/resources">

            <property name="enableSubPackages" value="false"/>

        </sqlMapGenerator>

        <!-- 生成dao接口 -->

        <javaClientGenerator targetPackage="com.pzg.code.one.mapper"

                             targetProject="src/main/java"

                             type="XMLMAPPER">

            <property name="enableSubPackages" value="false"/>

        </javaClientGenerator>

        <!--  tableName表示要匹配的数据库表,domainObjectName表示实体类名称-->

        <table tableName="user"

               domainObjectName="User"

               enableCountByExample="true"

               enableUpdateByExample="true"

               enableDeleteByExample="true"

               enableSelectByExample="true"

               selectByExampleQueryId="true">

            <property name="useActualColumnNames" value="false"/>

            <!-- 数据库表主键 -->

            <generatedKey column="id" sqlStatement="Mysql" identity="true"/>

        </table>

    </context>

</generatorConfiguration>

generatorConfig.xml内容中的数据库连接是引用的配置文件 

20190528095636453.png


20190528095702496.png

 引用的db.properties文件内容如下


20190528100115345.png


数据库连接也可以无需引用,直接配置,如下图 

20190528100709121.png

generatorConfig.xml中的baseMap

20190528101701702.png


可在相应的位置创建MyMapper.java,如下

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9waW5nemhlbmdndW8uYmxvZy5jc2RuLm5ldA==,size_16,color_FFFFFF,t_70

最后调出右侧maven,如下,双击蓝色阴影部分,自动生成相关代码

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9waW5nemhlbmdndW8uYmxvZy5jc2RuLm5ldA==,size_16,color_FFFFFF,t_70