ผล
คำอธิบายอย่างเป็นทางการ:
MyBatis ช่วยให้คุณสกัดกั้นการโทร ณ จุดหนึ่งระหว่างการดำเนินการของคำสั่งที่แมป
หมายความว่าอย่างไร? นั่นคือคุณสามารถสกัดกั้นวิธีการบางอย่างก่อนที่จะดำเนินการและดำเนินการบางอย่างของคุณเองเช่น:
1. บันทึก SQL ที่ดำเนินการทั้งหมด (โดยการสกัดกั้นวิธีการเตรียมใน mybatis org.apache.ibatis.executor.statement.statementhandler)
2. แก้ไข SQL (org.apache.ibatis.executor.executor สำหรับการสกัดกั้น) และอื่น ๆ
อย่างไรก็ตามมีข้อ จำกัด ในการเรียกใช้วิธีการสกัดกั้น MyBatis อนุญาตให้ปลั๊กอินสามารถสกัดกั้นการโทร ได้แก่ :
ทำให้สำเร็จ
การใช้ปลั๊กอินนั้นง่ายมาก เพียงใช้อินเตอร์เฟส Interceptor และระบุลายเซ็นวิธีที่คุณต้องการสกัดกั้น
// exampleplugin.java@intercepts ({@signature (type = executor.class, method = "update", args = {mappedStatement.class, object.class}, @signature (type = executor.class, // วิธีการสนับสนุนด้านบน {mappedStatement.class, object.class, rowbounds.class, resulthandler.class})}) // คลาสพารามิเตอร์ที่สอดคล้องกันสามารถดูได้จากคลาสที่มาของคลาสสาธารณะ (MappedStatement) queryargs [0]; แก้ไขเนื้อหาพารามิเตอร์ err.println ("ชื่อวิธีการสกัดกั้นคือ:" + ชื่อ);ลงทะเบียนปลั๊กอินในไฟล์กำหนดค่า
<!-mybatis-config.xml-> <ปลั๊กอิน> <ปลั๊กอิน interceptor = "org.mybatis.example.exampleplugin"> <ชื่อคุณสมบัติ = "someproperty" value = "100"/>
เมื่อเราเรียกวิธีการสืบค้นเราจะจับคู่วิธีการสกัดกั้นดังนั้นเราจะดำเนินการวิธีการสกัดกั้นภายใต้การสกัดกั้นและทำการประมวลผลของเราเอง
การอ้างอิงเว็บไซต์ทางการ
http://www.mybatis.org/mybatis-3/zh/configuration.html#plugins
สรุป
ด้านบนเป็นปลั๊กอิน MyBatis Custom Plugin ที่แนะนำโดยตัวแก้ไข ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!