天天看点

springboot整合mybatis使用generator自动生成代码springboot整合mybatis使用generator自动生成代码遇到的问题

springboot整合mybatis使用generator自动生成代码

springboot整合mybatis使用generator自动生成代码遇到的问题

今天学习了使用springboot整合mybatis使用generator自动生成代码,下面是我遇到的一些坑

开发环境:

IDE:IntelliJ IDEA 2019.1.1 x64

数据库:MySQL 8.0

我也是小白一枚,通过学习下面的博客来搭建的项目,此处转载原著

原文:https://blog.csdn.net/weixin_42685022/article/details/82215893

问题1 idea的maven无法加载

之前一直都是使用eclipse作为开发工具,听说idea很好用,就下载了来玩下,刚好就拿来练手了这个项目。

要使用mybatis的自动生成代码功能,需要在pom.xml中引入mybatis generator 自动生成代码插件

<!-- mybatis generator 自动生成代码插件 -->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.1</version>
                <configuration>
                    <configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
                    <overwrite>true</overwrite>
                    <verbose>true</verbose>
                </configuration>
            </plugin>
           

但是发现下图红框的位置时红色的,

springboot整合mybatis使用generator自动生成代码springboot整合mybatis使用generator自动生成代码遇到的问题

idea提示找不到对应的包,我以为我加载的依赖不对,上网去找了其它不同的依赖,但都是一样,只要是“org.mybatis.generator”的就找不到,然后我就怀疑是idea的问题,然后百度了一下,右键reimport一下pom.xml文件就能重新下载了。没用过idea就是这样,无语。

springboot整合mybatis使用generator自动生成代码springboot整合mybatis使用generator自动生成代码遇到的问题

问题2 Table Configuration goods matched more than one table警告

这个问题有点诡异,会发现mybatis会扫描不同库的同名表,并且将扫描到第一个表用来生成代码,那这样就会乱了。

因此,就算我们使用mybatis generator成功生成代码,也不一定是我们想要的。

仔细看控制台输出一段警告

[WARNING] Table Configuration goods matched more than one table (test2..goods,test..goods)
           

在mybatis的官网找到了解决方法

就是在generatorConfig.xml配置数据库连接的位置,加入下面一个属性就可以了

<property name="nullCatalogMeansCurrent" value="true"/>
           
springboot整合mybatis使用generator自动生成代码springboot整合mybatis使用generator自动生成代码遇到的问题

官网地址:http://www.mybatis.org/generator/usage/mysql.html

继续阅读