// mapper.javaemerevent selectbyalarmid (integer alarmId); // mapper.xml <pilih id = "selectbyalarmid" resultMap = "baseresultMap" parameTerType = "java.lang.integer"> pilih <sertakan "base_column_list" dari event = "> dari evens =" #{alarmId, jdbctype = integer} </if> </where> </ pilih>Karena hanya satu parameter yang dilewati: alarmid, SQL yang sesuai dalam file konfigurasi menggunakan tag if, dan kemudian kesalahan dilaporkan:
Pengecualian bersarang adalah org.apache.atisis.reflection.reflectionException: Tidak ada pengambil untuk properti bernama 'alarmid' di 'kelas java.lang.integer'
Larutan:
1. Hapus penilaian IF dalam pernyataan SQL di file konfigurasi mapper
<SELECT ID = "SELECTBYAlmID" RESUREMAP = "BASERESULTMAP" PARAMETERTYPE = "JAVA.LANG.Integer"> SELECT <Sertakan refid = "base_column_list" /> dari acara di mana alarm_id = #{alarmid, jdbctype = integer} < /pilih>2. Jika Anda ingin menggunakan tag IF, bungkus parameter alarmid ke dalam objek atau peta
Meringkaskan
Di atas adalah masalah dan solusi untuk penggunaan parameter tunggal dan tag <fif> dari mybatis flyers yang diperkenalkan kepada Anda. Saya harap ini akan membantu Anda. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas Anda tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!