지난 이틀 동안이 프로젝트는 Spring의 세 가지 주요 프레임 워크 인 Struts2 및 Mybatis를 통합해야하지만,이 오류는 항상 출시 될 때 발생하여 오랫동안 문제를 일으켰습니다. 내가 온라인에서 찾은 답변은 내가 원하는 것이 아닙니다. 오늘 나는 마침내 그 이유를 알고 있습니다.
user-mapper.xml은 다음과 같습니다.
<? xml version = "1.0"encoding = "utf-8"?> <! doctype mapper public "-// mybatis.org//dtd Mapper 3.0 // en" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> namespace = "com.bmdc.dj.user.dao.userdao"> <resultmap type = "userresult"> <id property = "user_id"column = "user_id"/<result property = "login" "login_name"/> <real_name. 열 = "비밀번호"/> </resultmap> <insert id = "add add add add
여기서 네임 스페이스는 인터페이스 경로입니다.
mybatis.xml은 다음과 같습니다.
<? xml version = "1.0"alcoding = "utf-8"?> <! doctype configuration public "-// mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3-config.dtd "> configuration> <! <typealias> <typealias> type = "com.bmdc.dj.user.domain.user"alias = "user"/> </inflealiases> <mapper resource = "com/bmdc/dj/dao/user-mapper.xml"/> </mappers> </configuration>
다른 구성 파일이 정확하므로 쓰지 않겠습니다. 이렇게하면 java.lang.ilegalargumentexception : 결과 맵 컬렉션에는 이미 xxx 값이 포함되어 있습니다.
해결책은 다음과 같습니다. mybatis.xml에서 <mappers> 태그의 모든 내용을 삭제하십시오. user-mapper.xml과 네임 스페이스 사이의 인터페이스가 동일한 경로에 있으면 mybaits.xml에서 구성 할 필요가 없습니다.
수정 된 mybatis.xml은 다음과 같습니다.
<? xml version = "1.0"alcoding = "utf-8"?> <! doctype configuration public "-// mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3-config.dtd "> configuration> <! <typealias> <typealias> type = "com.bmdc.dj.user.domain.user"alias = "user"/> </infealiases> </configuration>
위의 내용은 mybatis를 해결하는 방법에 대한 편집자의 소개입니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 모든 사람에게 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!