مقدمة إلى MyBatis
MyBatis هو إطار طبقة استمرار ممتازة يدعم استعلامات SQL العادية والإجراءات المخزنة ورسم الخرائط المتقدمة. يقوم MyBatis بإلغاء الإعدادات اليدوية لجميع كود JDBC والمعلمات تقريبًا والبحث عن مجموعات النتائج. يمكن لـ MyBatis استخدام XML البسيط أو التعليقات التوضيحية للتكوين والتعيين الأصلي لتعيين واجهات و Pojos (كائنات Java القديمة العادية) في سجلات في قاعدة البيانات.
MyBatis Download: https://github.com/mybatis/mybatis-3/releases
مثيل MyBatis
عملية CRUD على جدول المستخدم:
جدول المستخدم:
--------------------------------- الهيكل الجدول لـ `user`-- -------------------------- table إذا كان موجودًا` user` ؛ إنشاء جدول `user` (` id` int (11) not null auto_increm المحرك = innodb auto_increment = 6 charset default = utf8 ؛-------------------------------- سجلات المستخدم------------------------- insert في قيم المستخدم ("1" ، "الصيف" ، "30" ، "شنغهاي") ؛ إدراج في "قيم المستخدم (2" ، "اختبار 2" ، "22" ، "Zhoou". "Test1" ، "29" ، "مكان ما") ؛ إدراج في قيم "المستخدم" ("4" ، "لو" ، "28" ، "مكان ما") ؛ إدراج في قيم "المستخدم" ("5" ، "Xiaoxun" ، "27" ، "Nanjing") ؛ قم بإنشاء configuration.xml myBatis XML <؟ تعريف myBatis alias-> <TypeAliases> <typealias alias = "user" type = "com.mybatis.test.user"/> </termealiases> <البيئات default = "development"> <evely id = "development"> <TransactionManager type = "jdbc"/> <datasource type = "polled" value = "com.mysql.jdbc.driver"/> <property name = "url" value = "jdbc: mysql: //127.0.0.1: 3306/mybatis"/> <property name = "username" value = "root"/> الملف ، يتوافق كل ملف تكوين XML مع واجهة -> <mappers> <mapper Resource = "com/mybatis/test/user.xml"/> <mappers> </isplication> حدد ملف تكوين مستخدمي مستخدمي المستخدم
<؟ مساحة الاسم = "com.mybatis.test.iuserOperation"> <!-تحديد عبارة-> <تحديد ID = "SelectUserById" parametertype = "int" resulttype = "user"> حدد * من `user` where user.id = #{id} </select> <! type = "user" id = "usErresultMap"> <id property = "id" column = "user_id" /> <result property = "username" column = "user_username" /> <result property = "userage" column = "user_userage" /> تشير النتيجة إلى النقاط إلى المحددة مسبقًا-> <!-<select id = "selectSerByName" parametertype = "string" resultmap = "userResultMap"> select * from user.username = #{username} </select>-> <select id = "selectSerByName" parametertype = "strep". #{username} </select> <!-اختيار SQL الذي يؤدي عملية زيادة. المعرف والمعلمة هما نفس الاسم والنوع المعلمة لطريقة adduser في واجهة iuserOperation. تشير uSGeneratedKeys التي تم تعيينها إلى "True" إلى أن MyBatis يريد الحصول على المفتاح الأساسي الذي تم إنشاؤه تلقائيًا بواسطة قاعدة البيانات ؛ keyproperty = "id" يحدد حقن قيمة المفتاح الأساسي الذي تم الحصول عليه في خاصية معرف المستخدم -> <insert id = "addUser" parametertype = "user" usegeneratedKeys = "true" keyproperty = "id" </SERT> <update id = "updateUser" parametertype = "user"> تحديث المستخدم set username =#{username} ، userage =#{userage} ، userAdDress =#{userAdress} حيث inter =#{id} </update> <delete id = "deleteuser" id =#{id} </delete> </pkyper> يقوم ملف التكوين بتنفيذ علاقة التعيين بين الواجهات وبيانات SQL. يستخدم SelectUsersByName طريقتين لتنفيذها. علق هو أيضا تنفيذ. يمكن أن يؤدي استخدام ResultMap إلى تحديد علاقة التعيين بين اسم السمة واسم عمود قاعدة البيانات. الخاصية هي خاصية الفئة ، والعمود هو اسم العمود للجدول ، أو يمكن أن يكون مستعارًا لاسم عمود الجدول!
تعريف فئة المستخدم:
package com.mybatis.test ؛ user user {private int int ؛ user username ؛ int userage private ؛ private useraddress ؛ public int getId () {return id ؛} public void setId (int id) getUserage () {return userage ؛} public void setUserage (int userage) {this.userage = userage ؛} السلسلة العامة getUserAddress () {return useraddress ؛} public void setuseraddress (string useraddress) {this.useraddress = useraddress ؛ "+this.userage+" "+this.useraddress ؛}} تعريف iuseroperaton:
package com.mybatis.test ؛ استيراد java.util.list ؛ الواجهة العامة iuserOperation {المستخدم العام selecterById (int id) ؛ القائمة العامة <suster> selectersbyname (اسم المستخدم السلسلة) ؛ adduser public void (المستخدم) ؛ تحديث باطل عام (مستخدم المستخدم) ؛ يتوافق IuserOperation مع واجهة التشغيل واسم الوظيفة واسم معرف التشغيل في ملف تكوين XML الخاص بـ MyBatis.
اختبار فئة الاختبار:
package com.mybatis.test ؛ استيراد java.io.reader ؛ استيراد java.util.list ؛ import org.apache.ibatis.io.resources ؛ import org.apache.ibatis.session.sqlsession org.apache.ibatis.session.sqlsessionfactorybuilder ؛ اختبار الطبقة العامة {private static sqlsessionfactory sqlsessionfactory ؛ قارئ ثابت خاص ؛ static {try {new {new {resources.getResourCeasreader ("configuration.xml") ؛ sqlsessionfactorybuilder (). build (reader) ؛} catch (استثناء e) {E.PrintStackTrace () ؛}} sqlsessionfactory getession () userOperation = session.getMapper (iuserOperation.class) ؛ مستخدم المستخدم = userOperation.SelectuserById (userId) ؛ if (user! = null) {system.out.println (user.getId () + ":" + user.getSername () + ": getUserList (user username) {sqlsession session = sqlsessionfactory.opensession () ؛ حاول {iuserOperation userOperation = session.getMapper (iuserOperation.class) ؛ list <Sether> useral = userOperation.SelectserSbyName (username) ؛ for user user: {user.out. user.getUserName () + ":" + user.getuseraddress ()) ؛}} أخيرًا {session.close () ؛}/*** بعد الإضافة ، ارتكاب*/public void adduser () {user user = new user () ؛ user.setuseraddress ("place") ؛ user.setername ("test_add") ؛ sqlsessionfactory.opensession () ؛ حاول {iuserOperation userOperation = session.getMapper (iuseroperation.class) ؛ userOperation.adduser (user) ؛ session.commit () ؛ system.out.println ("إضافة معرف المستخدم: كن ملتزمًا* updateUser () {sqlsession session = sqlsessionfactory.opensession () ؛ حاول {iuserOperation userOperation = session.getMapper (iuserOperation.class) ؛ المستخدم = المستخدم مكان ") ؛ userOperation.updateuser (المستخدم) ؛ session.commit () ؛}} أخيرًا {session.close () ؛}}/*** بعد الحذف ، الالتزام. session.getMapper (iuserOperation.class) ؛ userOperation.deleteuser (id) ؛ session.commit () ؛} أخيرًا {session.close () ؛}} test.adduser () ؛ // test.updateuser () ؛ // test.deleteuser (6) ؛} catch (استثناء e) {system.out.println (e.getMessage ()) ؛}}}ما سبق هو مثال رمز تنفيذ MyBatis للإضافة والحذف والتعديل والاستعلام (CRUD) الذي قدمه لك المحرر. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!