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>
但是发现下图红框的位置时红色的,
idea提示找不到对应的包,我以为我加载的依赖不对,上网去找了其它不同的依赖,但都是一样,只要是“org.mybatis.generator”的就找不到,然后我就怀疑是idea的问题,然后百度了一下,右键reimport一下pom.xml文件就能重新下载了。没用过idea就是这样,无语。
问题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"/>
官网地址:http://www.mybatis.org/generator/usage/mysql.html