出现这种错,大概率是你的ResultMap重复了,可能是因为你重复运行了好几次逆向工程!!!!!!1
一旦有错你刷新项目后你会发现,JavaBean或者Mapper接口或者Mapper映射文件没有加载进去,这时候你肯定不停运行加载,但是你运行几次,你的Mapper映射文件就加载几次,导致你的ResultMap肯定会有重复
解决办法:
1.彻底检查你的配置文件千万不能有错这是最基本的(下面是我的配置文件)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<properties resource="db.properties"/>
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!-- 数据库连接信息 -->
<jdbcConnection driverClass="${jdbc.driverClass}"
connectionURL="${jdbc.jdbcUrl}"
userId="${jdbc.user}"
password="${jdbc.password}">
</jdbcConnection>
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 指定JavaBean生成的位置 -->
<javaModelGenerator
targetPackage="com.XXX.bean"
targetProject="你自己的com.XXX.bean所在的目录"><!--我是Maven项目所以我的是.\src\main\java-->
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- 指定SQL映射文件 -->
<sqlMapGenerator
targetPackage="你的Mapper映射文件包全限定名"
targetProject="同样是你的Mapper包所在的目录">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 指定DAO接口生成的位置 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="dao包全限定名"
targetProject="同样是你的dao包所在的目录">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 指定每个表的生成策略 -->
<table tableName="employee" domainObjectName="Employee" ></table>
<table tableName="dept" domainObjectName="Department"></table>
</context>
</generatorConfiguration>
2.配置文件没有错之后,直接找到你的Mapper文件
把这两个文件全部删掉就可以了重新运行让Mybatis重新加载一遍,我的Maven项目除了Mapper映射文件多次运行后会重复其他的dao啊还有JavaBean啊多次运行后都没有重复,但是为了保险起见,我建议你把逆向工程生成的所有文件都删除了 再点击一遍运行。就没有错了!