วันนี้ฉันทำอะไรบางอย่างที่โกงตัวเองและเสียเวลาไปมาก - -
ในการตั้งค่าของ mybatis ฉันเห็นการตั้งค่าแบบนี้ จากความอยากรู้อยากเห็นของโปรแกรมเมอร์ฉันค้นหาและพบว่าการตั้งค่านี้ทำอะไร
<การตั้งค่าชื่อ = "callesetTersonNulls" value = "true"/>
หลังจากคำตอบจากอาจารย์ที่ยอดเยี่ยมหลายคนบนอินเทอร์เน็ตในที่สุดฉันก็มีความเข้าใจน้อยมาก
ในการสืบค้นทั่วไปหากคุณใช้แผนที่เพื่อยอมรับผลลัพธ์การสืบค้นฟิลด์ที่มีผลการสอบถามจะถูกละเว้นโดยอัตโนมัติซึ่งจะทำให้เกิดข้อยกเว้นตัวชี้ว่างเมื่อใช้พารามิเตอร์
หากมีการตั้งค่าคุณสมบัตินี้ MyBatis จะไม่เพิกเฉยต่อฟิลด์เหล่านี้ คุณยังสามารถรับคีย์เหล่านี้ได้ แต่ค่านั้นเป็นโมฆะซึ่งก็สะดวกเช่นกัน
ดังนั้นที่นี่มีข้อผิดพลาด ในการตั้งค่านี้จะมีสองสถานการณ์พิเศษ
1. หากฟิลด์ทั้งหมดในแบบสอบถามทั้งหมดไม่มีค่านั่นคือเมื่อพบ 0 ระเบียนผลลัพธ์ของแผนที่ที่ยอมรับได้คืออะไร?
คำตอบคือเราจะได้รับแผนที่ที่มีค่าคีย์ทั้งหมดเป็นโมฆะแทนแผนที่ด้วย NULL
2. ถ้าคุณสอบถามเพียงหนึ่งฟิลด์และรับด้วยแผนที่ผลลัพธ์ของ NULL ในเวลานี้คืออะไร?
คำตอบคือเราจะได้รับแผนที่ด้วย NULL ซึ่งตรงข้ามกับข้างต้น
สรุป
ข้างต้นคือการวิเคราะห์การกำหนดค่าของ MyBatis CallesetTersonNulls แนะนำให้คุณรู้จัก ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉัน บรรณาธิการจะตอบกลับคุณทันเวลา!