MyBatis ต้องใช้แพ็คเกจ JAR:
ต้องมีการอ้างอิงแพ็คเกจสองขวดหนึ่งคือ mybatis และอีกแพ็คเกจคือ MySQL-connector-Java หากเป็นโครงการ Maven ให้เพิ่มการพึ่งพาใน POM ดังนี้
<การพึ่งพา> <roupId> org.mybatis </groupId> <ratifactid> mybatis </artifactid> <version> 3.2.3 </version> </การพึ่งพาอาศัยกัน> <predency> <roupid> mysql </groupid>
การเตรียมข้อมูล:
สร้างข้อมูลจุดใน MySQL สำหรับการทดสอบ:
สร้างฐานข้อมูล mybatis_test; สร้างผู้ใช้ตาราง (อายุจำนวนเต็มไม่เป็นโมฆะชื่อ varchar (64) ไม่ใช่ค่าเริ่มต้น ''); แทรกค่าผู้ใช้ (18, 'zhanjindong'); แทรกค่าผู้ใช้ (20, 'จาง');
ไฟล์กำหนดค่า:
ต้องใช้ไฟล์การกำหนดค่าสองประเภท หนึ่งคือไฟล์กำหนดค่า mybatis mybatis-config.xml ในตัวอย่างมันเป็นการกำหนดค่าที่ง่ายมาก มีคำแนะนำมากมายสำหรับการกำหนดค่าโดยละเอียดบนอินเทอร์เน็ต
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <! การกำหนดค่า doctype สาธารณะ "-// mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3-config.dtd name = "cacheenabled" value = "false" /> <การตั้งค่า name = "useGeneratedKeys" value = "true" /> <การตั้งค่าชื่อ = "defaultExecutortype" value = "reuse" /> < /การตั้งค่า> <transactionManager type = "jdbc"/> <dataSource type = "pooled"> <property name = "driver" value = "com.mysql.jdbc.driver"/> <property name = "url" value = "jdbc: mysql: //192.168.71.38: 3306/mysql: //192.168.71.38 value = "root"/> <property name = "password" value = "123456"/> </dataSource> </environment> </environment> <mappers> <mapper resource = "mapermapser.xml"/> </mappers>
ประเภทอื่นคือไฟล์การแมปข้อมูลการเข้าถึงข้อมูล: ในตัวอย่างคือ usermapper.xml ไฟล์นี้สามารถพบได้โดย SRC/Main/Resource หรือ Subdirectory MyBatis มันถูกระบุโดยทรัพยากรของโหนด mappers/mapper ใน mybatis-config.xml
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <! doctype mapper สาธารณะ "-// mybatis.org//dtd mapper 3.0 // en" "http://mybatis.org/dtd/mybatis-3-mapper.dtd <!-ที่นี่เนมสเปซจะต้องเป็นเส้นทางของอินเตอร์เฟส USERMAPPER "-> <แทรก ID =" InsertUser "พารามิเตอร์ =" ผู้ใช้ "> แทรกลงในผู้ใช้ (ชื่ออายุ) ค่า (#{ชื่อ},#{อายุ}) <!-ที่นี่ ที่นี่จะต้องเหมือนกับชื่อเมธอดอินเตอร์เฟสในอินเทอร์เฟซ USERMApper-> <เลือก id = "getUser" resultType = "ผู้ใช้" พารามิเตอร์ parameterType = "java.lang.string"> เลือก * จากผู้ใช้ที่ชื่อ =#{ชื่อ}ไฟล์การแมปที่สอดคล้องกันคืออินเตอร์เฟส usermapper ภายใต้การทดสอบเนมสเปซ mybatis ซึ่งกำหนดอินเทอร์เฟซเพื่อเข้าถึงตารางข้อมูลเท่านั้น:
Package Test.MyBatis; อินเทอร์เฟซสาธารณะ USERMAPPER {ช่องว่างสาธารณะแทรก (ผู้ใช้ผู้ใช้); ผู้ใช้สาธารณะ GetUser (ชื่อสตริง);}ต้องการ pojo: user.java
Package Test.mybatis; ผู้ใช้ระดับสาธารณะ {ชื่อสตริงส่วนตัว; อายุจำนวนเต็มส่วนตัว สตริงสาธารณะ getName () {ชื่อคืน; } โมฆะสาธารณะ setName (ชื่อสตริง) {this.name = name; } Public Integer Getage () {return Age; } การตั้งค่าโมฆะสาธารณะ (อายุจำนวนเต็ม) {this.age = อายุ; } ผู้ใช้สาธารณะ (ชื่อสตริงอายุจำนวนเต็ม) {super (); this.name = ชื่อ; this.age = อายุ; } ผู้ใช้สาธารณะ () {super (); -ทดสอบ:
การดำเนินการฐานข้อมูล MyBatis ใช้คลาสที่เรียกว่า SQLSession คลาสนี้ถูกสร้างขึ้นผ่าน SQLSessionFactory โดยทั่วไปขอแนะนำให้รักษา SQLSessionFactory ทั่วโลก
testmybatis.javapackage test.mybatis; นำเข้า java.io.ioexception; นำเข้า java.io.reader; นำเข้า org.apache.ibatis.io.resources; นำเข้า org.apache.ibatis.session.sqlsessionFactory; sqlsessionfactory sqlsessionfactory สุดท้าย; Static {String Resource = "MyBatis-config.xml"; Reader Reader = null; ลอง {reader = resources.getResourceAsreader (ทรัพยากร); } catch (ioexception e) {system.out.println (e.getMessage ()); } SQLSessionFactory = ใหม่ SQLSessionFactoryBuilder (). build (reader); } สาธารณะ sqlsessionfactory getSqlSessionFactory () {return sqlsessionfactory; -รหัสทดสอบมีดังนี้:
testmybatis.javapackage test.mybatis; นำเข้า org.apache.ibatis.session.sqlsession; นำเข้า org.apache.ibatis.session.sqlsessionfactory; การทดสอบระดับสาธารณะ Static {SQLSessionFactory = MyBatisutil.getSqlSessionFactory (); } โมฆะคงที่สาธารณะหลัก (สตริง [] args) {testadd (); getuser (); } โมฆะคงที่สาธารณะ testadd () {sqlsession sqlsession = sqlsessionfactory.opensession (); ลอง {usermapper usermapper = sqlsession.getMapper (usermapper.class); ผู้ใช้ผู้ใช้ = ผู้ใช้ใหม่ ("lisi", จำนวนเต็มใหม่ (25)); usermapper.insertuser (ผู้ใช้); sqlsession.commit (); // คุณต้องส่งที่นี่มิฉะนั้นข้อมูลจะไม่ป้อนฐานข้อมูล} ในที่สุด {sqlsession.close (); }} โมฆะคงที่สาธารณะ getUser () {SQLSession SQLSession = SQLSessionFactory.Opensession (); ลอง {usermapper usermapper = sqlsession.getMapper (usermapper.class); ผู้ใช้ผู้ใช้ = usermapper.getUser ("จาง"); System.out.println ("ชื่อ:" + user.getName () + "| อายุ:" + user.getage ()); } ในที่สุด {sqlsession.close (); -1. MyBatis จะใช้ log4j เพื่อบันทึกบันทึก แต่การเปิดโหมดการดีบักดูเหมือนว่าจะมีผลกระทบอย่างมากต่อประสิทธิภาพ
2. แคชแบบสอบถาม MyBatis 'มีผลกระทบอย่างมากต่อประสิทธิภาพและช่องว่างระหว่างการเปิดใช้งานและไม่เปิดใช้งานมีขนาดใหญ่มาก
ด้านบนเป็นบทช่วยสอนโดยละเอียดเกี่ยวกับการใช้ mybatis ที่แนะนำโดยบรรณาธิการ ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา!