ก่อนอื่นให้สร้างโครงการ Javaweb ใหม่และนำเข้าแพ็คเกจ JAR ที่ MyBatis ขึ้นอยู่กับ ในเวลาเดียวกัน MyBatis เป็นการดำเนินการบนฐานข้อมูลดังนั้นเราจึงจำเป็นต้องสร้างผู้ใช้ตารางใหม่ในฐานข้อมูลสำหรับการสาธิต
หลังจากสร้างตารางใหม่เรายังต้องสร้างผู้ใช้คลาสเอนทิตีที่สอดคล้องกัน java และเพิ่มชุดและรับเมธอด:
ผู้ใช้ระดับสาธารณะ {Private String ชื่อผู้ใช้รหัสรหัสผ่านส่วนตัว; อายุ int ส่วนตัว; สตริงสาธารณะ getUserName () {ส่งคืนชื่อผู้ใช้;} โมฆะสาธารณะ setUserName (ชื่อผู้ใช้สตริง) {this.username = ชื่อผู้ใช้;} สตริงสาธารณะ getPassword () อายุ) {this.age = อายุ;}}ใน mybatis เราต้องสร้างไฟล์การแมปที่สอดคล้องกับคลาสเอนทิตี usermapper.xml:
<? xml เวอร์ชัน = "1.0" การเข้ารหัส = "utf-8"?> <! doctype mapper สาธารณะ "-// mybatis.org//dtd mapper 3.0 // en" "http://mybatis.org/dtd/mybatis-3-mapper.dtd ค่าของเนมสเปซถูกตั้งค่าตามปกติเป็นชื่อแพ็คเกจ + ชื่อไฟล์แผนที่ SQL)-> <mapper namespace = "com.mybatis.mapping.usermapper"> <!-เขียนแบบสอบถามในแท็กที่เลือก ค่าของแอตทริบิวต์ ID จะต้องเป็นประเภทพารามิเตอร์เดียวที่ใช้เพื่อระบุแบบสอบถามเมื่อใช้แอตทริบิวต์พารามิเตอร์ แอตทริบิวต์ ResultType ระบุประเภทของชุดผลลัพธ์ที่ส่งคืนโดยการสืบค้น-> <!-รับวัตถุผู้ใช้ตามการสืบค้นชื่อผู้ใช้-> <select id = "getUser" parameterType = "java.lang.string" resultType = "com.mybatis.po.user" id = "deleteUser" parameterType = "java.lang.string"> ลบจากผู้ใช้ที่ชื่อผู้ใช้ =#{ชื่อผู้ใช้} </deLete> </mapper>ในที่สุดเราจำเป็นต้องสร้างไฟล์กำหนดค่าใหม่ config.xml สำหรับ myBatis เพื่อเชื่อมต่อกับฐานข้อมูลภายใต้ SRC และนำเข้า USERMAPPER.XML ด้านบน รหัสมีดังนี้:
<? XML เวอร์ชัน = "1.0" การเข้ารหัส = "UTF-8"?> <! การกำหนดค่า doctype สาธารณะ "-// myBatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3-config.dtd id = "การพัฒนา"> <transactionManager type = "jdbc" /> <!-กำหนดค่าข้อมูลการเชื่อมต่อฐานข้อมูล-> <dataSource type = "pooled"> <property name = "driver" value = "com.mysql.jdbc.driver" /> value = "root"/> <property name = "password" value = ""/> </dataSource> </environment> </environments> <mappers> <!-ลงทะเบียนไฟล์ usermapper.xml ทรัพยากรในไดเรกทอรีที่ usermapper.xml อยู่
ข้อมูลการเชื่อมต่อฐานข้อมูลการกำหนดค่าที่นี่ไม่แตกต่างจากไฮเบอร์เนตมากนัก ตอนนี้มาสร้างคลาสทดสอบใหม่เพื่อทดสอบ:
การทดสอบระดับสาธารณะ {โมฆะคงที่สาธารณะหลัก (สตริง [] args) พ่น ioexception {// mybatis การกำหนดค่าไฟล์สตริงทรัพยากร = "config.xml"; // ใช้คลาสโหลดเดอร์เพื่อโหลดไฟล์การกำหนดค่า mybatis sqlsessionsessionfactory sessionfactory = ใหม่ sqlsessionfactorybuilder (). build (is); // เปิดเซสชั่น sessionqlsession = sessionfactory.opensession ();/*** สตริงการระบุสำหรับการทำแผนที่ sql*com.mybatis.mapping.usermapper * GetUser เป็นค่าแอตทริบิวต์ ID ของแท็กที่เลือก SQL ที่จะดำเนินการสามารถพบได้ผ่านค่าแอตทริบิวต์ ID ของแท็กเลือก */stress statement = "com.mybatis.mapping.usermapper.getUser"; // การแมป SQL String // ดำเนินการค้นหาเพื่อส่งคืนวัตถุผู้ใช้ที่ไม่ซ้ำกันผู้ใช้ sqluser user = session.selectone (คำสั่ง "username1"); คำสั่ง 2 = "com.mybatis.mapping.usermapper.deleteuser"; session.delete (คำสั่ง 2, ผู้ใช้);}}ดำเนินการวิธีการเลือกวันเพื่อส่งคืนวัตถุผู้ใช้ (หากคุณต้องการสอบถามข้อมูลหลายชิ้นคุณสามารถใช้ SelectList ซึ่งจะส่งคืนวัตถุของรายการ <user>) เราส่งออกชื่อผู้ใช้ของวัตถุผู้ใช้ในคอนโซล ดำเนินการวิธีการลบเพื่อลบข้อมูลที่เกี่ยวข้องโดยตรงของวัตถุ คุณสามารถตัดสินได้ว่าการดำเนินการสำเร็จตามการเปลี่ยนแปลงในฐานข้อมูลหรือไม่ ด้านล่างนี้เป็นไดเรกทอรีของโครงการของฉันคุณสามารถอ้างอิงได้:
ข้างต้นเป็นตัวอย่างง่ายๆของ mybatis แน่นอนใน usermapper.xml เรายังสามารถใช้ OGNL เพื่อสร้างคำสั่ง SQL แบบไดนามิก ผู้ที่สนใจสามารถศึกษาด้วยตัวเอง ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับทุกคนในเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!