关于Result Maps collection already contains value for...报错

今天遇到一个报错Result Maps collection already contains value for...
报错信息如下:
Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.java.zxf.dao.CountLoginTriedTimesDao.BaseResultMap
	at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:120)
	at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:92)
	at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:466)
	... 65 more
Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.java.zxf.dao.CountLoginTriedTimesDao.BaseResultMap
	at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:802)
	at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:774)
	at org.apache.ibatis.session.Configuration.addResultMap(Configuration.java:556)
	at org.apache.ibatis.builder.MapperBuilderAssistant.addResultMap(MapperBuilderAssistant.java:217)
	at org.apache.ibatis.builder.ResultMapResolver.resolve(ResultMapResolver.java:47)
	at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:285)
	at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:252)
	at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:244)
	at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:116)
	... 67 more

大意是说在我的CountLoginTriedTimesDao.xml中已经存在结果集了
我就去xml中看了一下,果然,BaseResultMap有两个;其实不单单是BaseResultMap有两个,全部的增删改查方法都有双份的,删掉重复的就好了。

More:
那么,为什么会出现这种情况呢?
我是用mybatis逆向工程生成的相关映射文件,第一次生成的时候也没发现有重复的内容啊?

仔细思考了一下,是因为我第一次生成后,修改了数据库的表结构,后来又重新生成了一次;
第二次生成的时候,没有将第一次生成的类和xml文件删除,而是直接运行了,也成功了,提示是这些文件都被override了,我以为是将原来的全部覆盖了,原来是在原来后面追加了新的;

解决办法:
1.比较快速和简单的办法,就是将你第一次生成的文件删除,再生成第二次的文件;
2.分析源码,修改源码或自己编写插件,可以参考这个文章: https://my.oschina.net/u/137785/blog/736372

猜你喜欢

转载自blog.csdn.net/qq_33236248/article/details/80168696
今日推荐