ขั้นตอนแรกคือการใช้อินเตอร์เฟส typeHandler <t>
@mappedjdbctypes (jdbctype.timestamp) // หากไม่ได้ใช้คำอธิบายประกอบนี้ที่นี่คุณต้องเขียน jdbctype = "timestamp" @mappedTypes (datetime.class) // หากไม่ได้ใช้คำอธิบายประกอบนี้ที่นี่ javatype = "com.sinosoft.sysframework.common.datatype.datetime" คลาสสาธารณะ DateTimeHandler ใช้ TypeHandler <TateTime> {ขั้นตอนที่ 2 ลงทะเบียน TypeHandler
มีสองวิธีในการลงทะเบียน
หนึ่งคือการลงทะเบียนเดียว
<typeHandlers> <typeHandler handler = "com. ***. Dateatimetypehandler" Javatype = "[ljava.lang.string;" jdBcType = "varchar"/> </typehandlers>
หนึ่งคือการลงทะเบียนแบทช์
<Mappers> <mapper resource = "com/tiantian/mybatis/mapper/usermapper.xml"/> <package name = "com.tiantian.mybatis.mapperinterface"/> </mappers>
หากใช้วิธีการลงทะเบียนครั้งที่สองการประกาศของ JDBCType และ Javatype สามารถกำหนดได้โดยคำอธิบายประกอบ
ขั้นตอนที่ 3: ใช้:
1. คำนิยามฟิลด์ชุดผลลัพธ์แบบสอบถาม
<resultmap id = "userresult" type = "ผู้ใช้"> <id column = "id" คุณสมบัติ = "id"/> <result column = "ackers" property = "ความสนใจ" javatype = "[ljava.lang.string;" jdBcType = "varchar"/> </resultmap>
หรือ
<resultmap id = "userresult" type = "ผู้ใช้"> <id column = "id" คุณสมบัติ = "id"/> <result column = "ackers" property = "ฯลฯ " typeHandler = "com.tiantian.mybatis.handler.stringarraytype
นั่นคือถ้ามีการระบุคลาส TypeHandler โดยตรงคุณไม่จำเป็นต้องเขียน Javatype และ JDBCType แม้ว่าคุณจะเขียน mybatis คุณไม่จำเป็นต้องทำ
2. ผ่านพารามิเตอร์และแบบสอบถามหรือแก้ไข
<ถ้า test = "txlogstatus! = null"> txlogstatus = #{txlogstatus, typeHandler = com.rrcp.util.typehandlers.eventstatustypehandler}, </if>ในทำนองเดียวกัน TypeHandler ที่นี่ยังสามารถแทนที่ด้วย jdbctype และ javatype
สรุป:
พยายามทำให้มันสอดคล้องกันหรือเขียนเหมือนเดิมเมื่อลงทะเบียนและใช้งาน หากไม่ได้เป็นหนึ่งเดียวจะไม่พบ typeHandler ที่เกี่ยวข้องและจะมีการรายงานข้อผิดพลาด จุดประสงค์ของเราคือการใช้กลไกการประมวลผล typeHandler อย่างถูกต้อง เราไม่ต้องการเจาะลึกอัลกอริทึมที่ใช้โดย MyBatis ในการลงทะเบียนและค้นหาตราบใดที่มันประสบความสำเร็จ หากคุณมีเวลาและมีเวลาคุณสามารถศึกษาผลที่ตามมาจะเกิดจากการลงทะเบียนแอตทริบิวต์น้อยลง อย่างไรก็ตามหากคุณศึกษาพวกเขาอย่างละเอียดบางที MyAbtis รุ่นต่อไปอาจจะเปลี่ยนไป
ข้างต้นเป็นกระบวนการสามขั้นตอนของการใช้งาน typehandler ที่กำหนดเองสำหรับ mybatis ที่ฉันแนะนำให้คุณรู้จัก ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!