Hari ini saya melakukan sesuatu yang menipu diri sendiri dan membuang banyak waktu. . .
Dalam pengaturan mybatis, saya melihat garis pengaturan seperti ini. Karena penasaran programmer, saya mencari dan menemukan apa yang dilakukan pengaturan ini.
<mengatur nama = "callettersonnulls" value = "true"/>
Setelah jawaban dari banyak tuan hebat di internet, saya akhirnya memiliki sedikit pemahaman.
Secara umum kueri, jika Anda menggunakan peta untuk menerima hasil kueri, bidang dengan hasil kueri nol akan diabaikan secara otomatis, yang akan menyebabkan pengecualian penunjuk nol dilaporkan saat mengambil parameter.
Jika properti ini ditetapkan, Mybatis tidak akan mengabaikan bidang -bidang ini. Anda masih bisa mendapatkan kunci -kunci ini, tetapi nilainya nol, yang juga nyaman.
Jadi inilah jebakannya. Dalam pengaturan ini, akan ada dua situasi khusus lagi.
1. Jika semua bidang di seluruh kueri tidak memiliki nilai, yaitu, ketika 0 catatan ditemukan, apa hasil dari peta yang diterima?
Jawabannya adalah bahwa kita akan menerima peta dengan semua nilai kunci null, bukan peta dengan nol.
2. Jika Anda hanya menanyakan satu bidang dan menerimanya dengan peta, apa hasil NULL saat ini?
Jawabannya adalah bahwa kita akan menerima peta dengan NULL, yang persis kebalikan dari hal di atas.
Meringkaskan
Di atas adalah analisis konfigurasi mybatis callettersonnulls yang diperkenalkan kepada Anda. Saya harap ini akan membantu Anda. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan. Editor akan membalas Anda tepat waktu!