1.发生问题的环境
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.5</version>
</dependency>
在pom.xml配置以上环境时,运行数据库逆向生成xml后,运行项目报错Result Maps collection already contains value for xxxMapper.BaseResultMap
2.问题原因
在生成的Mapper.xml文件中发现多个重复代码块:
并且,这几个BaseResultMap里面的内容还和数据库字段对不上!!!
3.解决方案
在mybatis官方文档中找到了解决的答案。
参考链接:http://mybatis.org/generator/usage/mysql.html
所以,只需要在"generatorConfig.xml"中增加<property name="nullCatalogMeansCurrent" value="true"/>
即可
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://xxx" userId="root" password="123456">
<property name="useInformationSchema" value="true"/>
<property name="nullCatalogMeansCurrent" value="true"/>
</jdbcConnection>