MyBatis逆向生成工具

155 阅读1分钟

MyBatis数据库逆向生成工具,包含Mybatis-generator以及MyMapper插件,通过这个工具可以生成pojo实体类,mapper.xml以及mapper.java三种文件。

组成
1、通用mapper接口 2、配置文件

配置模板如下:

<?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>
    <context id="MysqlContext" targetRuntime="MyBatis3Simple" defaultModelType="flat">
        <property name="beginningDelimiter" value="`"/>
        <property name="endingDelimiter" value="`"/>

        <!-- 通用mapper所在目录 -->
        <plugin type="tk.mybatis.mapper.generator.MapperPlugin">
            <property name="mappers" value="com.imooc.my.mapper.MyMapper"/>
        </plugin>

        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/foodie-shop-dev"
                        userId="root"
                        password="abc123">
        </jdbcConnection>

        <!-- 对应生成的pojo所在包 -->
        <javaModelGenerator targetPackage="com.imooc.pojo" targetProject="src/main/java"/>

		<!-- 对应生成的mapper所在目录 -->
        <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/>

		<!-- 配置mapper对应的java映射 -->
        <javaClientGenerator targetPackage="com.imooc.mapper" targetProject="src/main/java" type="XMLMAPPER"/>

        <!-- 数据库表 -->
        <table tableName="stu"></table>
		<!--<table tableName="carousel"></table>-->
        <!--<table tableName="category"></table>-->
        <!--<table tableName="items"></table>-->
        <!--<table tableName="items_comments"></table>-->
        <!--<table tableName="items_img"></table>-->
        <!--<table tableName="items_param"></table>-->
        <!--<table tableName="items_spec"></table>-->
        <!--<table tableName="order_items"></table>-->
        <!--<table tableName="order_status"></table>-->
        <!--<table tableName="orders"></table>-->
        <!--<table tableName="user_address"></table>-->
        <!--<table tableName="users"></table>-->

    </context>
</generatorConfiguration>

3、生成执行类

4、生成完成后可以将生成后的三种拷贝到自己的项目中,但是需要注意,此时原项目父工程需要引入依赖,同时需要将逆向生成工具中的通用mapper粘贴进来。

 <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-spring-boot-starter</artifactId>
            <version>2.1.5</version>
</dependency>

同时,项目的配置文件需要修改

mapper:
  mappers: com.imooc.my.mapper.MyMapper #通用mapper的位置
  not-empty: false #在进行数据库操作的时候,判断表达式 是否为空
  #例如 username != null,是否追加 username != '',尽量自己手写
  identity: MYSQL

需要注意的是在配置文件中指定了实体类和mapper.xml文件的存放位置,但是*mapper.java文件的位置没有指定,在启动类中通过@MapperScan指定了。