في اليومين الماضيين ، يحتاج المشروع إلى دمج الأطر الثلاثة الرئيسية لـ Spring و Struts2 و MyBatis ، لكن هذا الخطأ يحدث دائمًا عند إطلاقه ، مما أزعجني لفترة طويلة. الإجابات التي وجدتها عبر الإنترنت ليست ما أريد. اليوم أعرف أخيرًا السبب.
user-mapper.xml كما يلي:
<؟ Namespace = "com.bmdc.dj.user.dao.userdao"> <resultMap type = "user" id = "userresult"> <id property = "user_id" column = "user_id"/> <result property = "login_name" column = "login_name"/> <dreder propert column = "password"/> </resultmap> <insert id = "add" parametertype = "user"> insert في user_id ، login_name ، real_name ، password) قيم ( #{user_id} ، #{login_name} ، #{real_name} ، #{password}) </insert> </mapper>حيث مساحة الاسم هي مسار الواجهة.
mybatis.xml كما يلي:
<؟ type = "com.bmdc.dj.user.domain.user" alias = "user"/> </typeAliases> <mapper resource = "com/bmdc/dj/dao/user-mapper.xml"/> </mappers> </ispication>
ملفات التكوين الأخرى صحيحة ، لذلك لن أكتبها. سيؤدي ذلك إلى حدوث خطأ java.lang.illegalargumentException: مجموعة خرائط النتائج تحتوي بالفعل على قيمة لـ xxx.
الحل هو: حذف جميع محتويات علامة <mappers> في mybatis.xml. لأنه إذا كانت الواجهة بين user-mapper.xml ومساحة الاسم في نفس المسار ، فلا داعي لتكوينها في mybaits.xml.
MyBatis.xml المعدل هو كما يلي:
<؟ type = "com.bmdc.dj.user.domain.user" alias = "user"/> </typeAliases> </ispification>
ما سبق هو مقدمة المحرر حول كيفية حل mybatis-java.lang.illegalargumentexception: مجموعة خرائط النتائج تحتوي بالفعل على قيمة لـ X. وآمل أن تكون مفيدة للجميع. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر على الجميع في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!