Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for……
程序员文章站
2022-07-15 13:05:26
...
在整合Spring和Mybatis时控制台报错了,错误如下:
Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.blog.dao.CategoryMapper.BaseResultMap
内容大概就是说CategoryMapper中有多个相同的ResultMap。
我就纳闷了,我用Mybatis逆工程插件的生成的文件,怎么会有错,于是我去看CategoryMapper.xml,结果----
不仅有2个相同的ResultMaps,甚至连增删改查的sql语句都各有2段一毛一样的……
什么鬼?这时,我突然想起在使用逆工程时我执行了2次,第一次失败了,然后修改后又执行了一次,就成功了。
我猜想这就是和数据库事务的原子性一致性一样,这逆工程是不讲究一致性(我猜的,不知道是不是,求指教),执行到一半时出错了,不会回滚,生成的那一半文件不会删除,等下次再重复执行时,就把相同的内容往之前成功生成的文件里追加,于是一个文件里就有2份一样的数据……
解决方法:
找到对应的mapper文件,将重复的内容删除即可!
上一篇: 解决:Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for xxx
下一篇: java.lang.IllegalArgumentException: Result Maps collection already contains value for ...
推荐阅读
-
使用mybatis报错【Result Maps collection already contains value for ...BaseResultMap】的解决方法
-
java.lang.IllegalArgumentException: Result Maps collection already contains value for
-
Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for ...
-
mybatis****Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains va
-
java.lang.IllegalArgumentException: Result Maps collection already contains value for
-
Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for.....
-
解决:Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for xxx
-
Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for……
-
java.lang.IllegalArgumentException: Result Maps collection already contains value for ...
-
异常:java.lang.IllegalArgumentException: Result Maps collection already contains ...