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指定了。