2018-11-07 · Develop

MyBatis Generator 只生成 Insert 接口

上篇文章我们给 SpringBoot 集成了 MyBatis 功能,但是在集成的过程中遇到点小问题 - Generator 生产的代码 Mapper 接口中只有 insertinsertSeletive 方法。

在网上查询了很久才找到真正的解决方案,记录下:

数据库中没有设置主键

如果没数据库没有设置主键,是不会生成以主键进行操作的方法,如 selectByPrimaryKey 之类的方法的。

相应的 enable 设置成 false

默认情况下 table 标签中的 enable 相关值为 true, 如果设置成 false 也是不会生产相应的方法的。

enableSelectByPrimaryKey="true"
enableUpdateByPrimaryKey="true"
enableDeleteByPrimaryKey="true"

Mysql 驱动包版本问题

如果你使用的是 Mysql 驱动包的话,需要注意下版本号。之前我的配置

<plugin>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-maven-plugin</artifactId>
    <version>1.3.5</version>
    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.13</version>
        </dependency>
    </dependencies>
    <configuration>
        <verbose>true</verbose>
        <overwrite>true</overwrite>
    </configuration>
</plugin>

版本号为 8.0.13 不能正常的生成 Mapper 接口,经过测试版本 6.0 及其之后的都会有这个问题,所以将版本降低为 5.1.45


参考文档
解决mybatis-generator无法生成除insert外的方法的问题