MyBatis ในฐานะกรอบ ORM Lightwork ได้ดึงดูดความสนใจของผู้คนนับไม่ถ้วนทันทีที่ปรากฏ มันง่ายและง่ายกว่าที่จะเริ่มต้นได้มากกว่าไฮเบอร์เนต มาเริ่มโปรแกรม mybatis แรกของฉัน
1. ดาวน์โหลดแพ็คเกจ mybatis
เรารู้ว่าเฟรมเวิร์กใด ๆ จะมีแพ็คเกจ เราดาวน์โหลดแพ็คเกจจากเว็บไซต์อย่างเป็นทางการ ที่อยู่เว็บไซต์อย่างเป็นทางการคือ: http://www.mybatis.org/mybatis-3/ และรุ่นที่ฉันใช้ที่นี่คือ 3.3.0 หลังจากการดาวน์โหลดเสร็จสมบูรณ์คุณสามารถดูโครงสร้างไดเรกทอรีต่อไปนี้:
MyBatis-3.3.0.jar เป็นแพ็คเกจและในไดเรกทอรี LIB คือแพ็คเกจการพึ่งพา เราใส่แพ็คเกจเหล่านี้ลงในโครงการของเรา สิ่งที่ฉันสร้างขึ้นที่นี่คือโครงการ Javaweb ซึ่งสะดวกสำหรับการทดสอบเว็บในอนาคต โปรแกรมที่ฉันเขียนเป็นโปรแกรม Java ธรรมดา
2. สภาพแวดล้อมการกำหนดค่า
หลังจากวางแพ็คเกจ mybatis ในไดเรกทอรี LIB ของโครงการกำหนดค่าสภาพแวดล้อม mybatis ต่อไป เรารู้ว่า mybatis เป็นกรอบ ORM เป็นของชั้น DAO ในการพัฒนาและจัดการกับฐานข้อมูลดังนั้นเราต้องมีข้อมูล ที่นี่นำข้อมูล MySQL เป็นตัวอย่างและการก่อสร้างฐานข้อมูลเฉพาะและการสร้างตารางจะไม่ได้รับการอธิบายที่นี่
สร้างไฟล์กำหนดค่า mybatis ในไดเรกทอรี SRC ชื่อไฟล์คือ: configuratin.xml และเนื้อหาไฟล์มีดังนี้:
<? XML เวอร์ชัน = "1.0" การเข้ารหัส = "UTF-8"?> <! การกำหนดค่า doctype สาธารณะ "-// mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3-config.dtd type = "com.cn.imooc.entity.message"/> </typealiases> <environment default = "การพัฒนา"> <environment id = "การพัฒนา"> <transactionManager type = "jdbc"/> <dataSource type = "pooled"> value = "jdbc: mysql: //127.0.0.1: 3306/weixin? useunicode = true & characterencoding = utf-8"/> <property name = "ชื่อผู้ใช้" value = "root"/> <property name = "password" value = "123456"/> <Mappers> <mapper resource = "com/cn/mappers/message.xml"/> </aemappers> </การกำหนดค่า> </การกำหนดค่า>
ยังมีรายการการกำหนดค่ามากมายในไฟล์การกำหนดค่า MyBatis
<sypealiases> การกำหนดค่านามแฝงนั่นคือคลาสเอนทิตีเป็นนามแฝง วัตถุประสงค์คือการไม่ใช้ชื่อคลาสเต็มเมื่อใช้คลาสเอนทิตีในไฟล์การแมป แต่ใช้นามแฝงซึ่งมีบทบาทอย่างง่าย
<versinments> กำหนดค่าสภาพแวดล้อมบางอย่างเช่นการกำหนดค่าข้อมูลที่นี่เรากำหนดค่าแหล่งข้อมูล
<mappers> กำหนดค่าไฟล์การแมปนี่คือไฟล์การแมป message.xml ภายใต้แพ็คเกจ com.cn.mappers ที่กำหนดค่า
ต่อไปนี้เป็นคำอธิบายของคลาสเอนทิตีข้อความ คลาสเอนทิตีนี้มีคุณสมบัติบางอย่างดังนี้:
แพ็คเกจ com.cn.imooc.entity; ข้อความระดับสาธารณะ {string private id; คำสั่งสตริงส่วนตัว; คำอธิบายสตริงส่วนตัว; ความคิดเห็นสตริงส่วนตัว; สตริงสาธารณะ getId () {return id;} โมฆะสาธารณะ setId (สตริงรหัส) {this.id = id;} สตริงสาธารณะ getCommand () {return command; คำอธิบาย;} โมฆะสาธารณะ setDescription (คำอธิบายสตริง) {this.description = คำอธิบาย;} public String getComment () {return comment;} public void setcomment (ความคิดเห็นสตริง) {this.comment = comment;}@overridepublic String toString () {return " -มีวิธีการ GetXXX และ SETXXX และวิธีการ SETXXX นั้นสำคัญมาก คุณสมบัติที่นี่เหมือนกับชื่อฟิลด์ของฐานข้อมูล พวกเขาสามารถสะท้อนได้อย่างง่ายดายในคลาสเอนทิตีโดยใช้ mybatis เพื่อสอบถามผลลัพธ์ แน่นอนว่าพวกเขายังสามารถไม่สอดคล้องกับชื่อฟิลด์ของตารางฐานข้อมูล พวกเขาจะได้รับการอธิบายในภายหลัง
ไฟล์การแมป message.xml มีดังนี้
<mapper namespace = "com.cn.inter.imessageOperation"> <select id = "selectUserById" parameterType = "int" resulttype = "com.cn.imooc.entity.message"> เลือก * จากข้อความ " Message; </select> </mapper>
นี่คือไฟล์การแม็พ Mapper ของฉันมีสองวิธีภายในหนึ่งคือ: selectUserById query ตาม ID และอีกวิธีหนึ่งคือ SelectMessages Query ทั้งหมด
โอเคจนถึงตอนนี้สภาพแวดล้อม mybatis ของเราได้ถูกสร้างขึ้นและเราสามารถทดสอบได้ด้านล่าง
3. ทดสอบ
ด้านล่างคือรหัสทดสอบ
แพ็คเกจ com.cn.test; นำเข้า java.io.ioexception; นำเข้า java.io.reader; นำเข้า org.apache.ibatis.io.resources; นำเข้า org.apache.ibatis.session.sqlsession; นำเข้า org.apache.ibatis.session.sqlsession org.apache.ibatis.session.sqlsessionfactorybuilder; นำเข้า com.cn.imooc.entity.message; คลาสสาธารณะ mytest {โมฆะสาธารณะคงที่หลัก (สตริง [] args) {// toDo วิธีการที่สร้างขึ้นโดยอัตโนมัติ รับ sqlsessionfactoryreader = resources.getResourceAsreader ("configuration.xml"); sqlsessionfactory sqlsessionfactory = ใหม่ sqlsessionfactorybuilder () สร้าง (reader); // 2 รับ sqlsessionsqlsession = sqlsessionfactory.opensession (); // 3 ข้อความสอบถามข้อความ = sqlsession.selectone ("com.cn.inter.imessageoperation.selectuserbyid", 1); system.out.println (ข้อความ);} catch (ioexception e) {// toDo auto-gonerated catch blocke.printstacktrace ();ดังที่เห็นได้จากข้างต้นจำเป็นต้องมี SQLSessionFactory ก่อนอื่นแล้วจึงได้รับ SQLSessionFactory SQLSession ดำเนินการโดย SQLSession และใช้วิธีการเลือก พารามิเตอร์แรกคือเนมสเปซ+" ชื่อเมธอดในไฟล์การแมปและพารามิเตอร์ที่สองคือพารามิเตอร์แบบสอบถาม
ข้างต้นเป็นคำอธิบายทั้งหมดเกี่ยวกับวิธีการใช้ mybatis (i) แนะนำให้คุณรู้จักโดยบรรณาธิการ ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ รุ่นอื่น ๆ จะได้รับการแนะนำในอนาคต โปรดให้ความสนใจกับ Wulin.com สำหรับเนื้อหาเพิ่มเติม!