ในช่วงสองวันที่ผ่านมาโครงการจำเป็นต้องรวมกรอบสำคัญสามประการของฤดูใบไม้ผลิ, struts2 และ mybatis แต่ข้อผิดพลาดนี้เกิดขึ้นเสมอเมื่อเปิดตัวซึ่งทำให้ฉันลำบากมานาน คำตอบที่ฉันพบทางออนไลน์ไม่ใช่สิ่งที่ฉันต้องการ วันนี้ฉันรู้เหตุผลในที่สุด
user-mapper.xml มีดังนี้:
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <! doctype mapper สาธารณะ "-// mybatis.org//dtd mapper 3.0 // en" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" namespace = "com.bmdc.dj.user.dao.userdao"> <resultmap type = "user" id = "userresult"> <ider property = "user_id" คอลัมน์ = "user_id"/> <result property = "login_name" คอลัมน์ "login_name" column = "รหัสผ่าน"/> </resultmap> <แทรก id = "เพิ่ม" พารามิเตอร์ parameterType = "ผู้ใช้"> แทรกลงในผู้ใช้ (user_id, login_name, real_name, รหัสผ่าน) ค่า ( #{user_id}, #{login_name}, #{real_name}, #โดยที่เนมสเปซเป็นเส้นทางอินเตอร์เฟส
mybatis.xml มีดังนี้:
<? xml version = "1.0" การเข้ารหัส = "UTF-8"?> <! การกำหนดค่า Doctype สาธารณะ "-// mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3-config.dtd" type = "com.bmdc.dj.user.domain.user" alias = "ผู้ใช้"/> </typealiases> <mapper resource = "com/bmdc/dj/user/dao/user-mapper.xml"/> </mappers>
ไฟล์การกำหนดค่าอื่น ๆ ถูกต้องดังนั้นฉันจะไม่เขียน สิ่งนี้จะทำให้เกิดข้อผิดพลาด java.lang.illegalargumentException: การรวบรวมแผนที่ผลลัพธ์มีค่าสำหรับ XXX อยู่แล้ว
วิธีแก้ปัญหาคือ: ลบเนื้อหาทั้งหมดของแท็ก <Mappers> ใน mybatis.xml เพราะหากอินเทอร์เฟซระหว่างผู้ใช้ mapper.xml และเนมสเปซอยู่ในเส้นทางเดียวกันไม่จำเป็นต้องกำหนดค่าใน mybaits.xml
mybatis.xml ที่ได้รับการแก้ไขมีดังนี้:
<? xml version = "1.0" การเข้ารหัส = "UTF-8"?> <! การกำหนดค่า Doctype สาธารณะ "-// mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3-config.dtd" type = "com.bmdc.dj.user.domain.user" alias = "ผู้ใช้"/> </typealiases> </การกำหนดค่า>
ข้างต้นคือการแนะนำของบรรณาธิการเกี่ยวกับวิธีการแก้ปัญหา mybatis-java.lang.illegalargumentException: การรวบรวมแผนที่คอลเลกชันมีคุณค่าสำหรับ X ฉันหวังว่ามันจะเป็นประโยชน์สำหรับทุกคน หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับทุกคนในเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!