مقدمة إلى MyBatis:
MyBatis هو مشروع مفتوح المصدر من Apache. في عام 2010 ، تم نقل هذا المشروع من مؤسسة Apache Software Foundation إلى Google Code وتم إعادة تسمية MyBatis. هاجر إلى جيثب في نوفمبر 2013.
MyBatis هو إطار طبقة استمرار ممتازة يدعم SQL المخصصة ، والإجراءات المخزنة ، ورسم الخرائط المتقدمة. يتجنب MyBatis جميع كود JDBC تقريبًا ويعمل يدويًا على المعلمات والحصول على مجموعات النتائج. يمكن لـ MyBatis استخدام XML البسيط أو التعليقات التوضيحية لتكوين المعلومات الأصلية ورسم خريطة ، ورسم الخرائط و java pojos (كائنات Java القديمة العادية) في سجلات في قاعدة البيانات.
1. وظيفة mybatis:
ببساطة ، يقوم MyBatis بتنفيذ طبقة DAO ، التي تقوم بتكوين SQL من خلال ملفات XML والخرائط إلى PO.
2. حزم الاقتباس التي تحتاج إلى إعداد
mybatis-3.2.8.jar: تم استخدام إطار عمل MyBatis
OJDBC6.JAR: اتصال قاعدة البيانات
تكوين بيئة MyBatis (إليك تكوين منفصل لـ MyBatis):
أولاً: قم بتنزيل واستيراد حزمة MyBatis Jar
عنوان تنزيل V3.4.5 هو:
http://xiazai.vevb.com/201712/yuanma/mybatis-3.4.5.rar
إذا كنت لا ترغب في استخدام الإصدار 3.4.5 ، ولكن إذا نسيت العنوان ، فيمكننا البحث مباشرة على الموقع الرسمي لـ Github.com: MyBatis
تظهر نتائج البحث في الشكل:
انقر فوق تنزيل أحدث في هذا الوقت ، ثم حدد الإصدار الذي تريد تنزيله.
قم بإلغاء ضغط الحزمة المضغوطة التي تم تنزيلها واستيراد جميع mybatis-3.4.5.jar والجرة في مجلد lib في Eclipse. بالطبع ، في هذا الوقت ، تحتاج أيضًا إلى استيراد حزمة جرة من برنامج تشغيل MySQL إلى MySQL-Connector-Java-5.1.44.jar.
لأننا لم نستخدم Maven هنا ، فإن التكوين التالي غير مطلوب ، لأننا قمنا يدويًا باستيراد جميع الجرار:
<Rependency> <roupeD> org.mybatis </rougeid> <StifactId> mybatis </shintifactid> <الإصدار> 3.4.5 </version> </premency>
2. كتابة ملفات التكوين
قم بإنشاء مجلد مصدر في المشروع الخاص بك ، وتخزين مستند التكوين الخاص بك وإنشاء sqlmappersconfig.xml ، ونسخ التكوين التالي (التكوين الرسمي الذي يوفره المسؤول ، قم بتغيير التكوين الرسمي إلى بنفسك):
<؟ <TransactionManager type = "jdbc"/> <dataSource type = "prouded"> <property name = "driver" value = "$ {driver}"/> <property name = "url" value = "$ {url}"/> <property name = "username" value = $ {username} "/> </quortive> </eversionments> <mappers> <mapper resource = "org/mybatis/example/blogmapper.xml"/> </mappers> </iscification>التكوين في sqlconnect.properties هو كما يلي:
SqldRiver: com.mysql.jbdc.driversqlurl: mysql: jbdc: //172.20.20.2/spectergk؟ useUnicode = true & directionDing = utf8sqlusername: testsqluserpwd: 1111111
حسنًا ، لقد أكملنا التكوين الأساسي للتكوين الذي يجب تكوينه ، ولكن هذا مجرد تكوين التكوين ، رمز الاختبار:
public void functionTest () {//system.out.println("start mybatis ") ؛ inputStream inputStream = null ؛ TREE {<br fildered = "filleted"> inputStream = resources.getResourCeasStream ("sqlmapconfig.xml") ؛ } catch (ioException e) {// todo acto catch block e.printstacktrace () ؛ } /** إنشاء مصنع* / sqlsessionfactory sqlsessionfactory = جديد sqlsessionfactorybuilder (). build (inputStream) ؛ / * * فتح ssion */ sqlsession sqlsession = sqlsessionfactory.opensession () ؛ system.out.println (sqlsession) ؛ sqlsession.close () ؛ حاول {inputStream.close () ؛ } catch (ioException e) {// todo acto catch block e.printstacktrace () ؛ }}في هذا الوقت ، فإن الطباعة هي قيمة تثبت أننا قمنا بتكوينها بنجاح ، ويمكننا تعيين الخريطة للباقي.
ثانياً: إن إنشاء واستخدام التعيينات ، لأن MyBatis Mapper يمكنه استخدام الوكيل الديناميكي ، ونحن نستخدم بشكل مباشر الوكيل الديناميكي هنا:
إنشاء في حزمة Pojo:
user.java
إنشاء في حزمة MAPPERS:
usermapper.java
إنشاء في نفس الدليل مثل sqlmappersconfig.xml:
user.xml
وتكوين الكود التالي في sqlmappersconfig.xml:
<!-ما يلي هو الاسم المستعار اسم حزمة com.spectergk.mybatis.pojo.user-!> <typealiases> <typealias type = "com.spectergk.mybatis.pojo.user" alias = "user"/> </tarpealiases> <!
تنفيذ إضافة بسيطة وحذف وتعديل وبحث قاعدة البيانات. التنفيذ المحدد هو كما يلي:
user.xml
<؟ تنفيذ الوكيل الديناميكي-> <mapper namepace = "com.spectergk.mybatis.mappers.usermapper"> <!-قيمة الإرجاع التي تم تكوينها هنا هي أن المستخدم قد تم تكوينه في SQLMappersConfig.xml-> <! القيمة التي يقررها المستخدم هي parametertype-> <select id = "selecterById" resultType = "user" parametertype = "string" "٪"#{v} "٪" ؛ </select> <!-أدخل البيانات في قاعدة البيانات-> <insert id = "insertoneUser" parametertype = "user"> insert في user (uid ، اسم المستخدم ، اسمه ، milepid ، mainpid ، sex) القيم (#{uid} ،#{username} ،#{realname} ،#{mobile} ،#} ، </sert> <!-UID الذي تم إنشاؤه تلقائيًا يقوم بإدراج البيانات وإرجاعه-> <insert id = "insertOneUserGetId" parametertype = "user"> <selectekey keyproperty = "uid" keycolumn = "uid" resulttype = "string" order = بعد "> المستخدم (اسم المستخدم ، الاسم الحقيقي ، الهاتف المحمول ، MainPid ، الجنس) (#{username} ،#{RealName} ،#{mobile} ،#{mainpid} ،#{sex}) ؛ </sert> <!-إدراج في نموذج القائمة-> <insert id = "InsetUsers"> إدراج في المستخدم (UID ، اسم المستخدم ، الاسم الحقيقي ، المحمول ، الرئيسي ، الجنس) < (#{item.uid} ،#{item.username} ،#{item.realname} ،#{item.mobile} ،#{item.mainpid} ،#{item.sex}) </foreach> </insert> <! المستخدم (UID ، اسم المستخدم ، الاسم الحقيقي ، الجوال ، mainpid ، الجنس) القيم <foreach collection = "array" item = "item" expleator = "،> (#{item.uid} ،#{item.username} ،#{item.realname} ،#{item.mobile} ،#{item.main. </sonsert> <!-تحديث المستخدم-> <update id = "updateUser" parametertype = "user"> تحديث المستخدم set username = #{username} حيث uid = #{uid} </uptudle> <! id = "deletemoreusers"> حذف من المستخدم حيث UID في (<لأنه يتم تحميله ديناميكيًا ، ما عليك سوى كتابة الواجهة هنا:
package com.spectergk.mybatis.mappers ؛ استيراد java.util.list ؛ استيراد com.spectergk.mybatis.pojo.user ؛ واجهة عامة usermapper { / * * * Query استنادًا إلى معرف المستخدم * / المستخدم العام المختار (معرف السلسلة) ؛ / * * الاستعلام الغامض بناءً على اسم المستخدم */ قائمة عامة <Sether> SelectUsersByUserName (اسم مستخدم السلسلة) ؛ /** أدخل مستخدم*/ public void insertoneUser (مستخدم المستخدم) ؛ / * * أدخل مستخدمًا وأرجع معرف المستخدم المدرج */ public void insertoneUsergetId (مستخدم المستخدم) ؛ /** إدراج عدة مستخدمين*/ إدراج الفراغ العام (قائمة <Sether> المستخدمين) ؛ / * * أدخل عدة مستخدمين لنقل Array */ public void insertUsersArray (المستخدمين []) ؛ /** UpdateUser Update*/ public void updateUser (مستخدم المستخدم) ؛ / * * حذف واحد */ void public deleteOneuser (String UID) ؛ / * * deletemoreusers حذف متعددة */ public void deletemoreusers (قائمة <string> uids) ؛}بسبب رمز الاختبار ، يتم كتابة رمز الاختبار الغامض فقط:
// Query public void fuzzysearch () {system.out.println ("start myBatis") ؛ inputStream inputStream = null ؛ Try {inputStream = Resources.getResourCeasStream ("SQLMAPConfig.xml") ؛ } catch (ioException e) {// todo acto catch block e.printstacktrace () ؛ } /** إنشاء مصنع* / this.sqlSessionFactory = جديد sqlsessionfactorybuilder (). build (inputStream) ؛ / * * فتح ssion */ sqlsession sqlsession = this.sqlsessionfactory.opensession () ؛ system.out.println (sqlsession) ؛ usermapper usermapper = sqlsession.getMapper (usermapper.class) ؛ قائمة <Sether> المستخدمين = userMapper.SelectUsersByuserName ("liu") ؛ لـ (المستخدم المستخدم: المستخدمين) {system.out.println (user) ؛ } sqlsession.close () ؛ }لخص
ما سبق هو رمز المثال لبناء واستخدام بيئة MyBatis التي قدمها لك المحرر. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!