解決Mybatis--java.lang.IllegalArgumentException: Result Maps collection already contains value for XXX
感謝幻滅若水的部落格。
這兩天因為專案需要整合Spring、struts2、mybatis三大框架,但啟動的時候總出現這個錯誤,困擾我好久,在網上找到的答案都不是我想要的,今天終於知道原因了。
user-mapper.xml如下:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 3 "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 4 <mappernamespace="com.bmdc.dj.user.dao.UserDao"> 5 <resultMap type="user" id="userResult"> 6 <id property="user_id" column="USER_ID"/> 7 <result property="login_name" column="LOGIN_NAME"/> 8 <result property="real_name" column="REAL_NAME"/> 9 <result property="password" column="PASSWORD"/> 10 </resultMap> 11 <insert id="add" parameterType="user"> 12 insert into users (user_id, login_name, real_name, password) 13 values(#{user_id}, #{login_name}, #{real_name}, #{password}) 14 </insert> 15 </mapper>
其中,namespace是介面路徑。
Mybatis.xml如下:
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> 3 <configuration> 4 5 <!-- 別名 --> 6 <typeAliases> 7 <typeAlias type="com.bmdc.dj.user.domain.User" alias="user"/> 8 </typeAliases> 9 <mappers> 10 <mapper resource="com/bmdc/dj/user/dao/user-mapper.xml" /> 11 </mappers> 12 </configuration>
其他配置檔案都正確,我就不寫了。這樣就會出現 java.lang.IllegalArgumentException: Result Maps collection already contains value for XXX這個錯誤。
解決辦法是:刪除Mybatis.xml中的<mappers>標籤所有內容。因為如果user-mapper.xml與namespace的介面在同一路徑下,就不需要在mybaits.xml中再進行配置了。
修改後的Mybatis.xml如下:
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> 3 <configuration> 4 5 <!-- 別名 --> 6 <typeAliases> 7 <typeAlias type="com.bmdc.dj.user.domain.User" alias="user"/> 8 </typeAliases> 9 </configuration>
搞定!
後來發現,並不是這個問題,而是在使用mybatis的逆向工程的時候,執行一次以後沒有刪除mapper.xml檔案,所以導致xml檔案中有兩次resultMap,所以才報這個錯誤,大家在使用逆向工程的時候一定要將原來生成的檔案刪除呀。
相關推薦
解決Mybatis--java.lang.IllegalArgumentException: Result Maps collection already contains value for XXX
感謝幻滅若水的部落格。 這兩天因為專案需要整合Spring、struts2、mybatis三大框架,但啟動的時候總出現這個錯誤,困擾我好久,在網上找到的答案都不是我想要的,今天終於知道原因了。 user-mapper.xml如下: 1 <?xml
[異常]Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for
Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for at org.apache.ibatis.session.Configuration$St
java.lang.IllegalArgumentException: Mapped Statements collection already contains value for xxx.xxx
初次配置mybatis,執行時出錯,報錯資訊如下 java.lang.IllegalArgumentException: Mapped Statements collection already contains value for xxx.xxx.dao.methodname 後來發現原來是m
Mybatis java.lang.IllegalArgumentException: Result Maps collection does not contain value for com
1.java.lang.IllegalArgumentException: Result Maps collection does not contain value for com.model.User 解決:一、 當mapper XML檔案中存在 <r
Spring Boot Mybatis Result Maps collection already contains value for *.BaseResultMap
文件 刪除 oot read color pri ready spa 復制 當你復制一個*Mapper.xml文件到項目工程中,運行報錯Mybatis Result Maps collection already contains value for *.BaseResul
關於mybatis啟動報Result Maps collection already contains value for ...的問題總結
今天在用mybatis逆向工程生成程式碼後,啟動專案測試時候出現了這個錯誤。關於這個錯誤的原因,各有不同。查了很長時間,下面就這個問題列舉了一些可能出錯的地方。 1、當同一個xml對映檔案記憶體在兩個相同的id(即兩個sql語句的id相同)時會報此錯 解決:查詢sql語句的id值修改 2
Result Maps collection already contains value for xxxMapper.BaseResultMap -------錯誤解決辦法
其一問題解決方案1 : https://blog.csdn.net/qq_39507276/article/details/81628092 Mybatis-Generator在生成Mapper.xml檔案時,會在原來基礎上再生成,導致內容重複
Result Maps collection already contains value for com.xxx.xxxMapper.BaseResultMap問題解決
mybatis出現Result Maps collection already contains value for com.xxx.xxxMapper.r.BaseResultMap的錯誤, 既有可能是MybatisGenerator逆向生成的問題。 假如使用MybatisGenerato
mybatis 專案啟動時報“Result Maps collection already contains value forxxx”錯誤
在使用mybatis的逆向工程生成程式碼時報錯,“Result Maps collection already contains value forxxx”有可能是如下原因: 生成的xml檔案實現介面
Result Maps collection already contains value for BaseResultMap
col mybatis base 發現 進行 關系 ltm 自動 問題 在時Mybatis自動生成工具發生了兩次 Result Maps collection already contains value for BaseResultMap 這種異常,現在記錄一下 原因一:
項目啟動時報錯:Result Maps collection already contains value for com.xxx.xxx.xx.mapper.XxxMapper.baseResultMap
rom efi 英語水平 base ont mapper 出現 技術 aps Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for c
Result Maps collection already contains value for
cau ase XML tail 問題: https nbsp ONBUILD onf 運行tomcat 報錯 org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause:
Result Maps collection already contains value for com.*.*.*Mapper.BaseResultMap
問題:在使用MyBatis的過程中,啟動專案總是報錯誤,如下 Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: java.lang.IllegalArgumentExce
ssm之路(15)整合ssm+逆向工程開發注意事項(Result Maps collection already contains value for cn.itcast.ssm.mapper.It)
這裡有個結合逆向工程來使用的坑: 上一章中整合遇到問題,有個關於逆向工程的坑,這裡需要說明一下: 因為我是通過mapper代理方式來整合的,所以當我再mapper裡新建我要自定義的檔案時,會造成無意不遵循規範的錯誤 我是通過mapper代理開發的方式來弄的,通過Ma
ssh整合時,mybaits報錯"Result Maps collection already contains value for......"
遇到這個問題,嘗試了很多方法,但都解決不了。 後來發現,是由於mybaits逆向生成XXXmapper.xml檔案時,由於 運行了多次,該檔案下的內容重複了。導致有重複的id命名,才會報這個錯誤。
Result Maps collection already contains value for com.miniprogram.meirong.user.dao.UserMapper.BaseResultMap
出現這種情況了,是mybatis-generator生成mapper.xml一遍之後。 再修改資料庫,然後再生成,它不會刪去之前的,只是增加,就會出現兩段相同的程式碼。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper
Mybatis報錯:java.lang.IllegalArgumentException: Result Maps collection does not contain value for java
在練習Shiro的過程中,Mybatis報錯: 十二月 25, 2018 3:53:12 下午 org.apache.catalina.core.StandardWrapperValve invoke 嚴重: Servlet.service() for servlet [springmvc] i
java.lang.IllegalArgumentException: Result Maps collection does not contain value for xxx.xxx.xxx
一、問題分析 Mybatis報錯: java.lang.IllegalArgumentException: Result Maps collection does not contain value
java.lang.IllegalArgumentException: Result Maps collection does not contain value forcom.imooc.bean
org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.lang.I
解決 Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value fo
前言:最近學習spring和mybatis的整合時遇到了一個問題( Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value fo