mybatis คืออะไร?
MyBatis เป็นเฟรมเวิร์กเลเยอร์การคงอยู่ที่ยอดเยี่ยมที่รองรับการสืบค้น SQL แบบธรรมดาขั้นตอนที่เก็บไว้และการทำแผนที่ขั้นสูง MyBatis กำจัดการตั้งค่าด้วยตนเองของรหัส JDBC และพารามิเตอร์เกือบทั้งหมดและค้นหาชุดผลลัพธ์ MyBatis สามารถใช้ XML หรือคำอธิบายประกอบแบบง่าย ๆ สำหรับการกำหนดค่าและการแมปดั้งเดิมไปยังอินเตอร์เฟสแมปและ Pojos ของ Java (วัตถุ Java Old Old Old) ลงในบันทึกในฐานข้อมูล
mybatis ดาวน์โหลด: https://github.com/mybatis/mybatis-3/releases
อินสแตนซ์ mybatis
การดำเนินการ CRUD บนตารางผู้ใช้:
ตารางผู้ใช้:
- - - engine = innoDB auto_increment = 6 charset เริ่มต้น = utf8;- - - สถานที่ '); แทรกลงในค่า `ผู้ใช้' ('4', 'lu', '28', 'สถานที่บางแห่ง'); แทรกลงในค่า` ผู้ใช้ '(' 5 ',' Xiaoxun ',' 27 ',' Nanjing ');สร้าง mybatis xml configuration configuration.xml ในไดเรกทอรี src
<? XML เวอร์ชัน = "1.0" การเข้ารหัส = "UTF-8"?> <! การกำหนดค่า doctype สาธารณะ "-// mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3-config.dtd alias = "ผู้ใช้" type = "com.mybatis.test.user"/> </typealiases> <environment default = "การพัฒนา"> <environment id = "การพัฒนา"> <transactionManager type = "JDBC"/> value = "jdbc: mysql: //127.0.0.1: 3306/mybatis"/> <ชื่อคุณสมบัติ = "ชื่อผู้ใช้" value = "root"/> <property name = "password" value = "admin"/> Resource = "com/mybatis/test/user.xml"/> </mappers> </การกำหนดค่า>
กำหนดไฟล์การกำหนดค่าผู้ใช้ Mappers ของผู้ใช้
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <! doctype mapper สาธารณะ "-// mybatis.org//dtd mapper 3.0 // en" "http://mybatis.org/dtd/mybatis-3-mapper.dtd namespace = "com.mybatis.test.iuseroperation"> <!-เลือกคำสั่ง-> <select id = "selectUserById" พารามิเตอร์ = "int int" resultType = "ผู้ใช้"> เลือก * จาก `user` โดยที่ผู้ใช้ type = "user" id = "userresultmap"> <id property = "id" คอลัมน์ = "user_id" /> <result property = "username" คอลัมน์ = "user_username" /> <result property = "userage" คอลัมน์ = "user_userage" /> ผลลัพธ์ของ MAP ชี้ไปที่กำหนดไว้ก่อนหน้านี้-> <!-<select id = "SelectUsersByName" ParameterType = "String" resultMap = "userResultMap"> เลือก * จากผู้ใช้ที่ user.username = #{ชื่อผู้ใช้} </select>-> <select id = #{ชื่อผู้ใช้} </select> <!-คำสั่งการค้นหาที่ดำเนินการเพิ่มขึ้น ID และ PARAMETERTYPE นั้นเหมือนกับชื่อและประเภทพารามิเตอร์ของวิธี ADDUSER ในอินเตอร์เฟส IUSEROPERATION useGeneratedKeys ตั้งค่าเป็น "true" ระบุว่า mybatis ต้องการรับคีย์หลักที่สร้างขึ้นโดยอัตโนมัติโดยฐานข้อมูล; keyProperty = "id" ระบุการฉีดค่าคีย์หลักที่ได้รับลงในคุณสมบัติ ID ของผู้ใช้ -> <แทรก id = "adduser" พารามิเตอร์ = "ผู้ใช้" useGeneratedKeys = "true" keyProperty = "id"> userress} userress </insert> <update id = "updateUser" parameterType = "ผู้ใช้"> อัปเดตตั้งค่าผู้ใช้ชื่อผู้ใช้ =#{ชื่อผู้ใช้}, userage =#{userage}, useraddress =#{useraddress} โดยที่ id =#{id} </mapper>ไฟล์การกำหนดค่าใช้ความสัมพันธ์การแมประหว่างอินเทอร์เฟซและคำสั่ง SQL SelectUsersByName ใช้สองวิธีในการใช้งาน ความคิดเห็นที่แสดงความคิดเห็นก็เป็นการนำไปปฏิบัติเช่นกัน การใช้ ResultMap สามารถกำหนดความสัมพันธ์การแมประหว่างแอตทริบิวต์และชื่อคอลัมน์ฐานข้อมูล คุณสมบัติคือคุณสมบัติของคลาสคอลัมน์คือชื่อคอลัมน์ของตารางหรืออาจเป็นนามแฝงสำหรับชื่อคอลัมน์ตาราง!
คำจำกัดความของคลาสผู้ใช้:
แพ็คเกจ com.mybatis.test; ผู้ใช้ระดับสาธารณะ {ID INT ส่วนตัว; ชื่อผู้ใช้สตริงส่วนตัว; ผู้ใช้งานส่วนตัว useraddress สตริงส่วนตัว; สาธารณะ int getId () {return id; } โมฆะสาธารณะ setId (int id) {this.id = id; } สตริงสาธารณะ getUserName () {ส่งคืนชื่อผู้ใช้; } โมฆะสาธารณะ setUserName (ชื่อผู้ใช้สตริง) {this.userName = ชื่อผู้ใช้; } public int getUserage () {return userage; } โมฆะสาธารณะ setUserage (int userage) {this.userage = userage; } สตริงสาธารณะ getUserAddress () {return useraddress; } โมฆะสาธารณะ setUserAddress (สตริง useraddress) {this.userAddress = userAddress; } @Override สตริงสาธารณะ toString () {return this.username+""+this.userage+""+this.useraddress; -คำจำกัดความของ iuseroperaton:
แพ็คเกจ com.mybatis.test; นำเข้า java.util.list; อินเทอร์เฟซสาธารณะ iuseroperation {ผู้ใช้สาธารณะ SelectUserById (ID int); รายการสาธารณะ <user> SelectUsersByName (ชื่อผู้ใช้สตริง); Void Adduser สาธารณะ (ผู้ใช้); Public Void UpdateUser (ผู้ใช้ผู้ใช้); โมฆะสาธารณะ DELETEUSER (INT ID); -IUSerOperation สอดคล้องกับอินเตอร์เฟสการทำงานชื่อฟังก์ชันและชื่อ ID การทำงานในไฟล์การกำหนดค่า XML ของ MyBatis '
ทดสอบชั้นเรียน:
แพ็คเกจ com.mybatis.test; นำเข้า java.io.reader; นำเข้า java.util.list; นำเข้า org.apache.ibatis.io.resources; นำเข้า org.apache.ibatis.session.sqlsession; org.apache.ibatis.session.sqlsessionfactorybuilder; การทดสอบระดับสาธารณะ {ส่วนตัว sqlsessionfactory sqlsessionfactory ส่วนตัว; ผู้อ่านผู้อ่านแบบคงที่ส่วนตัว คงที่ {ลอง {reader = resources.getResourceAsreader ("configuration.xml"); SQLSessionFactory = ใหม่ SQLSessionFactoryBuilder (). build (reader); } catch (exception e) {e.printstacktrace (); }} สาธารณะ sqlsessionfactory getSession () {return sqlsessionfactory; } โมฆะสาธารณะ getUserById (int userId) {sqlsession session = sqlsessionfactory.opensession (); ลอง {iUserOperation UserOperation = เซสชัน. getMapper (iUseroperation.class); ผู้ใช้ผู้ใช้ = useroperation.SelectUserById (userID); if (user! = null) {system.out.println (user.getId () + ":" + user.getUserName () + ":" + user.getUserAddress ()); }} ในที่สุด {session.close (); }} โมฆะสาธารณะ getUserList (ชื่อผู้ใช้สตริง) {SQLSession Session = SQLSessionFactory.opensession (); ลอง {iUserOperation UserOperation = เซสชัน. getMapper (iUseroperation.class); รายการ <user> users = useroperation.selectusersbyName (ชื่อผู้ใช้); สำหรับ (ผู้ใช้ผู้ใช้: ผู้ใช้) {system.out.println (user.getId () + ":" + user.getUserName () + ":" + user.getUserAddress ()); }} ในที่สุด {session.close (); }} / ** * commit หลังจากเพิ่ม * / public void adduser () {ผู้ใช้ผู้ใช้ = ผู้ใช้ใหม่ (); user.setUserAddress ("สถานที่"); user.setUserName ("test_add"); user.setUserage (30); SQLSESSION SESSION = SQLSessionFactory.opensession (); ลอง {iUserOperation UserOperation = เซสชัน. getMapper (iUseroperation.class); useroperation.adduser (ผู้ใช้); session.commit (); System.out.println ("เพิ่ม ID ผู้ใช้:" + user.getId ()); } ในที่สุด {session.close (); }} / ** * commit * / public void updateUser () {SQLSession Session = SQLSessionFactory.opensession (); ลอง {iUserOperation UserOperation = เซสชัน. getMapper (iUseroperation.class); ผู้ใช้ผู้ใช้ = useroperation.SelectUserById (1); if (user! = null) {user.setUserAddress ("สถานที่ใหม่"); useroperation.updateUser (ผู้ใช้); session.commit (); }} ในที่สุด {session.close (); }} /*** กระทำหลังจากลบ * * @param id */ โมฆะสาธารณะ deleteUser (int id) {sqlsession session = sqlsessionfactory.opensession (); ลอง {iUserOperation UserOperation = เซสชัน. getMapper (iUseroperation.class); useroperation.deleteuser (ID); session.commit (); } ในที่สุด {session.close (); }} โมฆะคงที่สาธารณะหลัก (สตริง [] args) {ลอง {ทดสอบทดสอบ = การทดสอบใหม่ (); // test.getUserById (1); // test.getUserList ("test1"); // test.adduser (); // test.updateUser (); // test.deleteuser (6); } catch (exception e) {system.out.println (e.getMessage ()); - ดาวน์โหลดรหัส: mybaitssimpledemo_jb51.rar
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น