Spring Boot MyBatis 通用Mapper 自动生成代码

时间:2022-05-22 20:24:00

一、在pom.xml文件中进入mybatis自动生成代码相关的jar包:

Spring Boot MyBatis 通用Mapper 自动生成代码

Spring Boot MyBatis 通用Mapper 自动生成代码

注意: <configurationFile>标签中配置的是“generatorConfig.xml”文件位置。

二、修改项目配置文件application.properties:

Spring Boot MyBatis 通用Mapper 自动生成代码

Spring Boot MyBatis 通用Mapper 自动生成代码

三、创建generatorConfig.xml 文件位置是上面POM文件配置的路径。

<?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="application.properties"/>
    <!-- 必须 指定生成一组对象的环境 -->
    <context id="GenerCode" targetRuntime="MyBatis3Simple" defaultModelType="flat">
        <!--分隔符 -->
        <property name="autoDelimitKeywords" value="true"/>
        <property name="beginningDelimiter" value="`"/>
        <property name="endingDelimiter" value="`"/>

<!-- 通用mapper插件 -->
        <plugin type="tk.mybatis.mapper.generator.MapperPlugin">
            <!-- 此处的 MyMapper注意一定不能被扫描到-->
            <property name="mappers" value="${mybatis.generator.config.mappers}"/>
        </plugin>
        <!-- 注释 规则-->
        <commentGenerator>
            <property name="suppressAllComments" value="false"/>
            <property name="suppressDate" value="true"/>

</commentGenerator>

#数据库配置- 参数位于application.properties 文件

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

connectionURL="${spring.datasource.url}"
                        userId="${spring.datasource.username}"
                        password="${spring.datasource.password}">
        </jdbcConnection>
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <javaModelGenerator targetPackage="${mybatis.generator.config.package.model}"
                            targetProject="${mybatis.generator.config.package.path}"/>

<sqlMapGenerator targetPackage="mapper" targetProject="${mybatis.generator.config.package.mapper.path}"/>
        <javaClientGenerator targetPackage="${mybatis.generator.config.package.dao}"
                             targetProject="${mybatis.generator.config.package.path}"
                             type="XMLMAPPER" />

<table tableName="%">
            <!--mysql 配置-->
            <generatedKey column="id" sqlStatement="Mysql" />
            <!--oracle 配置-->
            <!--<generatedKey column="id" sqlStatement="${mybatis.generator.config.sqlStatement}" identity="false" type="pre"/>-->
        </table>
    </context>
</generatorConfiguration>

四、创建通用Mapper 类 路径在第一部已经配置 ,代码如下:

package com.cywlfw.exam.baseDao;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;
public interface MapperDao<T> extends Mapper<T>,MySqlMapper<T>{

}

五、生成代码方法:

如果用IDEA工具,方法如下:

Spring Boot MyBatis 通用Mapper 自动生成代码

其他工具,代码如下:

1. 选中pom.xml文件,选择“run as”->"Maven build",输入:mybatis-generator:generate命令执行

2. 右击MybatisGeneratorUtil.java,选择“run as”->"java application"生成文件。

Spring Boot MyBatis 通用Mapper 自动生成代码

生成成功~

六、 配置文件说明:

1. 默认是mysql数据库,数据库信息配置在application.properties中进行修改;
    2. JavaBean、mapper相关文件的包名在generatorConfig.xml中配置;
    3. mapper.xml文件中javaBean的路径在application.properties中的mybatis.type-aliases-package中进行配置;
    4. MyMapper的文件位置在generatorConfig.xml文件中的<plugin>标签中进行配置;
    5. 需保证自己项目中的MapperDao.java文件的位置跟这个项目一致;不一致请按照第4点进行修改;