ما هو mybatis؟
MyBatis هو إطار طبقة استمرار ممتازة يدعم استعلامات SQL العادية والإجراءات المخزنة ورسم الخرائط المتقدمة. يقوم MyBatis بإلغاء الإعدادات اليدوية لجميع كود JDBC والمعلمات تقريبًا والبحث عن مجموعات النتائج. يمكن لـ MyBatis استخدام XML البسيط أو التعليقات التوضيحية للتكوين والتعيين الأصلي لتعيين واجهات و Pojos (كائنات Java القديمة العادية) في سجلات في قاعدة البيانات.
MyBatis Download: https://github.com/mybatis/mybatis-3/releases
مثيل MyBatis
عملية CRUD على جدول المستخدم:
جدول المستخدم:
- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- المحرك = innodb auto_increment = 6 charset الافتراضي = UTF8 ؛- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- المكان ') ؛ insert في قيم "المستخدم" ("4" ، "لو" ، "28" ، "مكان ما") ؛ إدراج في قيم "المستخدم" ("5" ، "Xiaoxun" ، "27" ، "Nanjing") ؛قم بإنشاء configuration.xml myBatis XML في دليل SRC
<؟ alias = "user" type = "com.mybatis.test.user"/> </typealiases> <البيئات default = "development"> <البيئة معرفًا = "تطوير"> <المعاملات type = "jdbc"/> <dataSource type = "prouded"> <property name = "value =" com.mysql.jdbcy value = "jdbc: mysql: //127.0.0.1: 3306/mybatis"/> <property name = "username" value = "root"/> <property name = "password" value = "admin"/> </sataSource> </ Resource = "com/mybatis/test/user.xml"/> </nybers> </iscification>
حدد ملف تكوين مستخدمي مستخدمي المستخدم
<؟ <!-حدد عبارة-> <select id = "selectUserById" parametertype = "int" resultType = "user"> select * من `user` حيث user.id = #{id} </select> <! property = "id" column = "user_id" /> <result property = "username" column = "user_username" /> <result property = "userage" column = "user_userage" /> <result propert id = "selectOsersByName" parametertype = "string" resultMap = "usErresultMap"> حدد * من user where user.username = #{username} </select>-> <select id = "selectersbyname" parameterty = "string" resulttype = "user"> user user. زيادة العملية. المعرف والمعلمة هما نفس الاسم والنوع المعلمة لطريقة adduser في واجهة iuserOperation. تشير uSGeneratedKeys التي تم تعيينها إلى "True" إلى أن MyBatis يريد الحصول على المفتاح الأساسي الذي تم إنشاؤه تلقائيًا بواسطة قاعدة البيانات ؛ keyproperty = "id" يحدد حقن قيمة المفتاح الأساسي الذي تم الحصول عليه في خاصية معرف المستخدم -> <insert id = "addUser" parametertype = "user" usegeneratedKeys = "true" keyproperty = "id"> insert in username (username ، userage ، useraddress) {username} ، <update id = "updateUser" parametertype = "user"> تحديث المستخدم تعيين username =#{username} ، userage =#{userage}يقوم ملف التكوين بتنفيذ علاقة التعيين بين الواجهات وبيانات SQL. يستخدم SelectUsersByName طريقتين لتنفيذها. علق هو أيضا تنفيذ. يمكن أن يؤدي استخدام ResultMap إلى تحديد علاقة التعيين بين اسم السمة واسم عمود قاعدة البيانات. الخاصية هي خاصية الفئة ، والعمود هو اسم العمود للجدول ، أو يمكن أن يكون مستعارًا لاسم عمود الجدول!
تعريف فئة المستخدم:
package com.mybatis.test ؛ مستخدم الفئة العامة {private int id ؛ اسم المستخدم الخاص بالسلسلة الخاصة ؛ استخدام int الخاص ؛ سلسلة خاصة useraddress ؛ public int getId () {return id ؛ } public void setId (int id) {this.id = id ؛ } السلسلة العامة getUserName () {return username ؛ } public void setusername (string username) {this.userName = username ؛ } public int getUserage () {return userage ؛ } public void setUserage (int userage) {this.userage = userage ؛ } السلسلة العامة getUserAddress () {return userAddress ؛ } public void setUserAddress (String userAddress) {this.userAdDress = userAdDress ؛ } Override Public String ToString () {return this.username+""+this.userage+""+this.useraddress ؛ }}تعريف iuseroperaton:
package com.mybatis.test ؛ import java.util.list ؛ public interface iuserOperation {public user selecterbyid (int id) ؛ القائمة العامة <Sether> SelectUsersByName (اسم المستخدم السلسلة) ؛ adduser public void (مستخدم المستخدم) ؛ تحديث الفراغ العام (مستخدم المستخدم) ؛ حذف الفراغ العام (int id) ؛ }يتوافق 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 {reader = resources.getResourCeasReader ("configuration.xml") ؛ sqlsessionFactory = جديد sqlsessionfactorybuilder (). build (reader) ؛ } catch (استثناء e) {E.PrintStackTrace () ؛ }} static sqlsessionfactory getSession () {return sqlsessionfactory ؛ } public void getUserById (int userId) {sqlsession session = sqlsessionfactory.opensession () ؛ جرب {iuserOperation userOperation = session .getMapper (iuserOperation.class) ؛ مستخدم المستخدم = userOperation.SelectUserById (userId) ؛ if (user! = null) {system.out.println (user.getId () + ":" + user.getUserName () + ": }} أخيرًا {session.close () ؛ }} public void getUserList (string username) {sqlsession session = sqlsessionfactory.opensession () ؛ جرب {iuserOperation userOperation = session .getMapper (iuserOperation.class) ؛ قائمة <Sether> المستخدمين = userOperation.SelectUsersByName (اسم المستخدم) ؛ لـ (المستخدم المستخدم: المستخدمين) {system.out.println (user.getId () + ":" + user.getUserName () + ":" + user.getuseraddress ()) ؛ }} أخيرًا {session.close () ؛ }} / ** * الالتزام بعد الإضافة * / public void adduser () {user user = new user () ؛ user.setuseraddress ("مكان") ؛ user.setUserName ("test_add") ؛ user.setUserage (30) ؛ جلسة SQLSession = sqlsessionfactory.opensession () ؛ جرب {iuserOperation userOperation = session .getMapper (iuserOperation.class) ؛ userOperation.adduser (المستخدم) ؛ session.Commit () ؛ System.out.println ("إضافة معرف المستخدم:" + user.getId ()) ؛ } أخيرًا {session.close () ؛ }} / ** * commit * / public void updateUser () {sqlsession session = sqlsessionfactory.opensession () ؛ جرب {iuserOperation userOperation = session .getMapper (iuserOperation.class) ؛ مستخدم المستخدم = userOperation.SelectUserById (1) ؛ if (user! = null) {user.setUserAddress ("مكان جديد") ؛ userOperation.updateuser (user) ؛ session.Commit () ؛ }} أخيرًا {session.close () ؛ }} /*** ارتكب بعد الحذف. * * param id */ public void deleteuser (int id) {sqlsession session = sqlsessionfactory.opensession () ؛ جرب {iuserOperation userOperation = session .getMapper (iuserOperation.class) ؛ userOperation.deleteuser (id) ؛ session.Commit () ؛ } أخيرًا {session.close () ؛ }} public static void main (string [] args) {try {test test = new test () ؛ // test.getuserbyid (1) ؛ // test.getuserList ("test1") ؛ // test.adduser () ؛ // test.updateuser () ؛ // test.deleteuser (6) ؛ } catch (استثناء e) {system.out.println (e.getMessage ()) ؛ }}} رمز تنزيل: MyBaitsSimpleDemo_JB51.RAR
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.