ملكيات
هذه خصائص خارجية ، بديلة يمكن أيضًا تكوينها في ملف تكوين خاصية Java نموذجي أو تم تمريره من خلال عناصر الأطفال لعناصر الخصائص. على سبيل المثال:
<properties resource = "org/mybatis/example/config.properties"> <property name = "username" value = "dev_user"/> <property name = "password" value = "f2fa3! 33tyyg"/> </properties>
يمكن استخدام الخصائص الموجودة في ملف التكوين ، ويتم استخدام الخصائص القابلة للاستبدال لتنفيذ التكوين الديناميكي. على سبيل المثال:
<dataSource type = "prowed"> <property name = "driver" value = "$ {driver}"/> <property name = "url" value = "$ {url}"/> <property name = "username" value = "$ {username}"/> <property name = "$ {passwore}
في هذا المثال ، سيتم استبدال اسم المستخدم وكلمة المرور بالقيم المحددة في عنصر الخصائص. سيتم استبدال خصائص برنامج التشغيل وعنوان URL بالقيم الواردة في ملف config.properties.
إعدادات
1. Cacheenabled
يمكّن هذا التكوين الخريطة العالمية من تمكين أو تعطيل ذاكرة التخزين المؤقت.
قيم صالحة: صحيح ، خطأ
القيمة الافتراضية: صواب
2.LazyLoadingEnabled
تمكين أو تعطيل التحميل كسول على مستوى العالم. عند تعطيلها ، يتم تحميل جميع الكائنات المرتبطة على الفور.
قيم صالحة: صحيح ، خطأ
القيمة الافتراضية: صواب
3.Aggressivelazyloading
عند تمكينه ، سيقوم كائن مع خاصية التحميل المتأخرة بتحميل أي خاصية بالكامل عند الاتصال. خلاف ذلك،
سيتم تحميل كل سمة حسب الحاجة.
قيم صالحة: صحيح ، خطأ
القيمة الافتراضية: صواب
4.Mult ipleresultSetSetEnabled
السماح أو لا تسمح بإعادة مجموعات نتائج متعددة من بيان منفصل (يتطلب برامج تشغيل مناسبة)
قيم صالحة: صحيح ، خطأ
القيمة الافتراضية: صواب
5.USECOLUMBENLABEL
استخدم ملصقات العمود بدلاً من أسماء الأعمدة. برامج تشغيل مختلفة مريحة لأداء مختلف. ارجع إلى وثائق برنامج التشغيل أو اختبار الطريقة الكاملة لتحديد برنامج التشغيل المستخدم.
قيم صالحة: صحيح ، خطأ
القيمة الافتراضية: صواب
6. usegeneratedkeys
يسمح JDBC بدعم المفاتيح التي تم إنشاؤها. بحاجة إلى محرك مناسب. إذا تم ضبطه على صحيح ، فإن هذا الإعداد يفرض المفاتيح التي تم إنشاؤها لاستخدامها ، وعلى الرغم من أن بعض السائقين يرفضون أن يكونوا متوافقين ، إلا أنها لا تزال صالحة (مثل Derby)
قيم صالحة: صحيح ، خطأ
القيمة الافتراضية: خطأ
7.Automappingbehavior
يحدد كيفية قيام MyBatis بتخطيط الأعمدة تلقائيًا إلى الحقول/السمات. سوف يقوم الجزئي بتخطيط بسيطة تلقائيًا وليس له نتائج متداخلة.
الكامل سيقوم بتخطيط أي نتائج معقدة تلقائيًا (رقبة أو غير ذلك)
قيم صالحة: لا شيء ، جزئي ، كامل
القيمة الافتراضية: جزئي
8.DefaultExecutortype
تكوين المنفذ الافتراضي. لا يوجد شيء مميز حول المشغل البسيط. إعادة استخدام Executor يعيد استخدام بيانات المعالجة المسبقة.
دفعات إعادة استخدام الدفعات الممنفلة والتحديث الدُفعات القيم الصالحة: بسيطة ، إعادة استخدام ، دفعة
القيمة الافتراضية: بسيطة
9.DefaultStatementTimeout
قم بتعيين وقت المهلة ، والذي يحدد الوقت الذي ينتظر فيه برنامج التشغيل استجابة قاعدة البيانات.
قيم صالحة: أي ، إيجابية ، عدد صحيح
القيمة الافتراضية: لم يتم تعيين (خالية)
مثال على إعداد عناصر المعلومات ، التكوين الكامل هو كما يلي:
<STEPTRESS> <STETTER NAME = "Cacheenabled" value = "true"/> <setting name = "lazyloadingEnabled" value = "true"/> <setting name = "multiplerSultSetsEnsable" value = "true"/> <setting name = "useColumnLabel" value = "true" <إعداد name = "defaultexecutortype" value = "simple"/> <setting name = "defaultStateMentTimeOut" value = "25000"/> </stipts>
typealiases
نوع الاسم المستعار هو تسمية اسم قصير لأنواع Java. يرتبط فقط بتكوين XML ويستخدم فقط لتقليل الأجزاء الزائدة من الاسم المؤهل بالكامل للفئة. على سبيل المثال:
<typealias alias = "uptor" type = "domain.blog.author"/> <typealias alias = "blog" type = "domain.blog.blog"/> <typealias alias = "comment" type = "domain.blog.comment"/> <typealias alias = "post" type = "domain.post" type = "domain.blog.section"/> <typealias alias = "tag" type = "domain.blog.tag"/> </typealias>
مع هذا التكوين ، يمكن استخدام "المدونة" بشكل تعسفي بدلاً من استخدام "domain.blog.blog". لأنواع Java العادية ، هناك العديد من الاسم المستعار من النوع المدمج. كلاهما غير حساس للحالة ، وبسبب الأسماء الزائدة ، يجب عليك الانتباه إلى التعامل الخاص مع الأنواع الأصلية.
TypeHandlers
ما إذا كان MyBatis يقوم بتعيين معلمة في بيان المعالجة المسبقة أو يأخذ قيمة من مجموعة النتائج ، يتم استخدام معالج النوع لتحويل القيمة التي تم الحصول عليها إلى نوع Java بالطريقة المناسبة. يصف الجدول التالي معالج النوع الافتراضي.
يمكنك إعادة كتابة معالج النوع أو إنشاء معالج النوع الخاص بك للتعامل مع أنواع غير مدعومة أو غير قياسية. لكن هذا الموقف نادر جدا! !
ObjectFactory
تتم MyBatis باستخدام مثيل ObjectFactory في كل مرة يتم فيها إنشاء مثيل جديد لكائن النتيجة. في حالة وجود خريطة المعلمة ، لا يعمل ObjectFactory الافتراضي أكثر من إنشاء فئة الهدف باستخدام المنشئ أو المنشئ الافتراضي مع المعلمات. إذا كنت ترغب في إعادة كتابة الكائن الافتراضي ، فيمكنك إنشاء خاص بك. مثال تم حذفه.
الإضافات
يتيح لك MyBatis اعتراض المكالمات التي يتم تنفيذها بواسطة عبارات تم تعيينها في مرحلة معينة. بشكل افتراضي ، يسمح MyBatis بالمكونات الإضافية لاعتراض مكالمات طريقة:
1.executor
(التحديث ، الاستعلام ، FlushStatements ، الالتزام ، التراجع ، getTransaction ، قرب ، isClose)
2. المعلمة
(getParameterObject ، setParameters)
3.ResultSethandler
(معالجات ، handoutputparameters)
4. StatementHandler
(إعداد ، معلمة ، دفعة ، تحديث ، استعلام)
البيئات
يمكن تكوين MyBatis مع بيئات متعددة. سيساعدك ذلك على تطبيق تعيينات SQL على قواعد بيانات متعددة.
سؤال مهم للغاية يجب تذكره: يمكنك تكوين بيئات متعددة ، ولكن يمكنك فقط تحديد واحد لكل مثيل SQLSessionFactory. لذلك ، إذا كنت ترغب في الاتصال بقحتي بيانات ، فأنت بحاجة إلى إنشاء مثالين SQLSessionFactory ، واحدة لكل قاعدة بيانات. وإذا كانت ثلاث قواعد بيانات ، فأنت بحاجة إلى ثلاث حالات ، وما إلى ذلك.
تحدد عناصر البيئة كيفية تكوين البيئة ، على سبيل المثال:
<البيئات default = "development"> <البيئة id = "development"> <TransactionManager type = "jdbc"> <property name = "... value = "$ {username}"/> <property name = "password" value = "$ {password}"/> </dataSource> </ لاحظ هنا:
1. معرف البيئة الافتراضي (على سبيل المثال: Default = "Development").
2. معرف البيئة المحدد بواسطة كل عنصر بيئة (على سبيل المثال: ID = "التطوير").
3. تكوين مدير المعاملات (على سبيل المثال: Type = "JDBC").
4. تكوين مصدر البيانات (على سبيل المثال: type = "prouded").
TransactionManager
هناك نوعان من مديري المعاملات في MyBatis (أي Type = "[JDBC | Managed]".
1.JDBC --- يستخدم هذا التكوين مباشرة وببساطة إعدادات الالتزام والتراجع عن JDBC. يعتمد على الاتصالات التي تم الحصول عليها من مصادر البيانات لإدارة نطاق المعاملة.
2. المدير --- هذا التكوين لا شيء تقريبا. لا يرتكب أو تراجع اتصال. ويسمح للحاوية بإدارة دورة حياة كاملة للمعاملة (مثل سياق SPRING أو JEE Application Server). بشكل افتراضي ، يغلق الاتصال. ومع ذلك ، لا تريد بعض الحاويات هذا ، لذلك إذا كنت بحاجة إلى إيقافه من الاتصال ، فقم بتعيين خاصية CloseConnection على False. على سبيل المثال:
<TransactionManager Type = "Managed"
لا يتطلب مدير المعاملات أي خصائص. ومع ذلك ، فهي جميعها من نوع الاسم المستعار ، ولاستبدالها ، تحتاج إلى وضع اسمك أو نوع الاسم المستعار الخاص بك من فصولك الخاصة ، والتي تشير إلى فئة التنفيذ الخاصة بك للواجهة عبر العوامل.