เมื่อใช้งานฐานข้อมูลคุณมักจะพบการแทรกแบบแบทช์และการลบแบทช์ มันง่ายที่จะทำโดยตรงโดยการดำเนินการคำสั่ง SQL จะมีปัญหาบางอย่างเมื่อใช้ mybatis สำหรับการแทรกแบทช์และการลบแบทช์ ต่อไปนี้เป็นการแนะนำการแทรกแบบแบทช์และการลบแบทช์โดยใช้ mybatis
1. การแทรกชุด
รหัส Java:
// รุ่น: test.java@datapublic คลาสทดสอบ {สตริงส่วนตัว x; สตริงส่วนตัว y; สตริงส่วนตัว z;} // mapper: testmapper.javapublic เป็นโมฆะ inserttestlist (รายการ <Test> TESTLIST);รหัส XML
<!-XML: testmapper.xml-> ... <!-ละเว้นข้อมูลที่ซ้ำกัน-> <แทรก id = "InsertTestlist" พารามิเตอร์ "พารามิเตอร์" ทดสอบ "> แทรกอยู่ใน test_table (test_x, test_y, test_z) ค่า <foreach รายการ = #{item.y}, #{item} .z </foreach> </insert> <!-อัปเดตข้อมูลที่ซ้ำกัน-> <แทรก id = "InsertTestList" พารามิเตอร์ = "ทดสอบ"> แทรกลงใน test_table (test_x, test_y, test_z) separator = ","> #{item} .x, #{item.y}, #{item} .z </foreach> บนคีย์ซ้ำ updateTest_x = ค่า (test_x), test_y = values (test_y), test_z = values (test_z) </insert> ... ...ชุดคำสั่ง SQL แทรก
แทรกลงใน test_table (x, y, z) ค่า (1, 1, 1), (2, 2, 2), (3, 3, 3)
หมายเหตุ: value () เป็นฟังก์ชันของ MySQL สำหรับคำอธิบายเฉพาะโปรดตรวจสอบ Document function_values
ฟังก์ชั่นหลักคือการได้รับค่าที่จะได้รับการอัปเดตเมื่อข้อมูลซ้ำ
2. การลบชุด
รหัส Java:
// โมเดล: test.java@datapublic คลาสทดสอบ {สตริงส่วนตัว x; สตริงส่วนตัว y; สตริงส่วนตัว z;} // mapper: testmapper.javapublic เป็นโมฆะ deleTeStlist (รายการ <Test> TESTLIST);รหัส XML
<!-xml: testmapper.xml-> ... <ลบ id = "deleTetStlist" parameterType = "ทดสอบ"> ลบจาก test_tablewhere <foreach item = "item" index = "index" collection = "state" open = "(" close = ") #{item.z} </foreach> </delete> ...คำสั่ง SQL
ลบจาก test_table โดยที่ (test_x = 1 และ test_y = 1 และ test_z = 1) หรือ (test_x = 2 และ test_y = 2 และ test_z = 2) หรือ (test_x = 3 และ test_y = 3 และ test_z = 3)
หมายเหตุ: รหัสข้างต้นเป็นกรณีที่ X, Y และ Z เป็นคีย์หลักร่วมและสถานการณ์ทั่วไปใช้ที่ ID ใน
ข้างต้นคือการแทรกการแทรกและการลบ MyBatis และการลบแบทช์ที่แนะนำโดยตัวแก้ไข ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับทุกคนในเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!