Dalam dua hari terakhir, proyek perlu mengintegrasikan tiga kerangka kerja utama Spring, Struts2, dan Mybatis, tetapi kesalahan ini selalu terjadi ketika diluncurkan, yang telah mengganggu saya untuk waktu yang lama. Jawaban yang saya temukan online bukanlah yang saya inginkan. Hari ini saya akhirnya tahu alasannya.
Pengguna-mapper.xml adalah sebagai berikut:
<? 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 = "user" id = "userResult"> <id properti = "user_id" kolom = "user_id"/> <hasil hasil = "login_name" kolom = "LOGIN_NAME"/<RUMENTRIM PROPERTI "/KOMOLOM"/KOLOMNATE "/KOMOLITE"/KOLOMNAME "/KOMOLTHEMER"/KOLOMNAME "/KOMOLTHEMER"/<" kolom = "kata sandi"/> </resultMap> <sisipkan id = "tambahkan" parameTerType = "user"> masukkan ke dalam pengguna (user_id, login_name, real_name, kata sandi) nilai ( #{user_id}, #{login_name}, #{real_name}, #{kata sandi}) </insert> </mapperDi mana namespace adalah jalur antarmuka.
Mybatis.xml adalah sebagai berikut:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- Alias--> <typeAliases> <typeAlias Type = "com.bmdc.dj.user.domain.user" alias = "user"/> </yypealiases> <mapper resource = "com/bmdc/dj/user/dao/user-mapper.xml"/> </mappers> </configuration>
File konfigurasi lainnya benar, jadi saya tidak akan menulisnya. Ini akan menyebabkan kesalahan java.lang.illegalargumentException: koleksi peta hasil sudah berisi nilai untuk xxx.
Solusinya adalah: hapus semua isi tag <pappers> di mybatis.xml. Karena jika antarmuka antara pengguna-mapper.xml dan namespace berada di jalur yang sama, tidak perlu mengkonfigurasinya di mybaits.xml.
Mybatis.xml yang dimodifikasi adalah sebagai berikut:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- Alias--> <typeAliases> <typeAlias Type = "com.bmdc.dj.user.domain.user" alias = "user"/> </yypealiases> </configuration>
Di atas adalah pengantar editor tentang cara menyelesaikan mybatis-java.lang.illegalargumentException: koleksi peta hasil sudah berisi nilai untuk X. Saya harap ini akan membantu semua orang. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas semua orang tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!