MyBatis Generator报错:Result Maps collection already contains value for xxxMapper.BaseResultMap(

Posted 花伤情犹在

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatis Generator报错:Result Maps collection already contains value for xxxMapper.BaseResultMap(相关的知识,希望对你有一定的参考价值。

发生问题的环境

<!--mysbatis-->
<dependency>
	<groupId>org.mybatis</groupId>
	<artifactId>mybatis</artifactId>
	<version>3.5.7</version>
</dependency>
<!--generator-->
<dependency>
	<groupId>org.mybatis.generator</groupId>
	<artifactId>mybatis-generator-core</artifactId>
	<version>1.4.0</version>
</dependency>
<!--mysql-->
<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
	<version>8.0.27</version>
</dependency>
<!--log4j-->
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

在pom.xml配置以上环境时,运行数据库逆向生成xml后,运行项目报错Result Maps collection already contains value for xxxMapper.BaseResultMap

问题原因

在生成的Mapper.xml文件中发现多个重复代码块:

并且,这几个BaseResultMap里面的内容还和数据库字段对不上!!!

解决方案

在mybatis官方文档中找到了解决的答案:

由于我的环境导入的是MySQL8.0的jar包,这就命中了官方所说中的Bug。

链接

所以,只需要在"generatorConfig.xml"中的jdbcConnectio标签中添加以下代码即可

<property name="nullCatalogMeansCurrent" value="true"/>

以上是关于MyBatis Generator报错:Result Maps collection already contains value for xxxMapper.BaseResultMap(的主要内容,如果未能解决你的问题,请参考以下文章

mybatis-generator代码生成报错?

mybatis-generator插件执行报错:Cannot resolve classpath entry

Mybatis generator 配置报错

关于Mybatis Generator逆向工程生成文件失败,而系统还没有报错的问题

MyBatis Generator报错:Result Maps collection already contains value for xxxMapper.BaseResultMap(

新手spring整合mybatis报错连接数据库失败