عند تعلم السبات ، تعرض المحرر لمختلف التعيينات. كيف يعمل رسم الخرائط في MyBatis؟ في منشور المدونة هذا اليوم ، سيقدم المحرر باختصار الرسم البياني المتقدم في MyBatis ، بما في ذلك فردي إلى واحد ، واحد إلى كثير ، والعديد من العدد. آمل أن يكون المزيد والمزيد من الأصدقاء المحتاجين مفيدًا. يقدم المحرر بشكل أساسي نموذج بيانات منتج الطلب ، والاستعلام الفردي ، والاستعلام واحد لأحد ، والاستعلام عن العديد من العدد.
1. طلب نموذج بيانات المنتج
1. البرنامج النصي لتنفيذ قاعدة البيانات كما يلي:
<span style = "font-family: comic sans ms ؛ font-size: 18px ؛"> إنشاء عناصر الجدول (id int not null auto_increment ، heatsname varchar (32) not null التعليق "اسم المنتج" ، Price Float (10،1) Date '، المفتاح الأساسي (المعرف)) charset الافتراضي = UTF8 ؛ /. `fk_orderdetail_2` (` heads_id`) ، القيد `fk_orderdetail_1` المفتاح الأجنبي (` orders_id`) المراجع `` orders ` charset = utf8 ؛ / *بنية جدول الجدول للجدول `orders` */ إنشاء أوامر الجدول (id int not null null auto_increment ، user_id int not null التعليقات" معرف الطلب "، الرقم varchar (30) وليس التعليق الفارغ" رقم الطلب "، مفتاح prime (` id `) القيد `fk_orders_id` المفتاح الأجنبي (` user_id`) المراجع `t_user` (` id`) على حذف أي إجراء على التحديث لا إجراء) charset = utf8 ؛ / *هيكل الجدول للجدول `t_user` */ إنشاء جدول t_user (id int not null auto_increment ، اسم المستخدم varchar (32) وليس التعليق الخالي من" اسم المستخدم "، تاريخ عيد الميلاد الافتراضي التعليق الخالي من" عيد ميلاد "، sex char (1) Default Null التعليق 'الجنس' ، العنوان varchar (256) التعليق الفارغ ' </span>
اختبار رمز البيانات
<span style = "font-family: comic sans ms ؛ size-size: 18px ؛">/ *data for the table `stems` */ insert in headsname ، price ، detail ، pic ، pic ، createTime) ('desktop' ، 3000.0 ، 'هذا الكمبيوتر ذو جودة رائعة!' ، null ، '2015-07-07 13:28:53) ، ("دفتر الملاحظات" ، 6000.0 ، "دفتر ملاحظات" ، أداء جيد ، جودة جيدة! "، NULL ،" 2015-07-08 13:22:57 ") ، (" حقيبة ظهر "، 200.0 ،" حقيبة الظهر ذات العلامة التجارية ، السعة العالية والجودة الجيدة! "،" 2015-07-010 13:25:02 ") ؛ / *بيانات الجدول `orderdetail` */ insert في` orderdetail` (`orders_id` ،` heads_id` ، `heads_num`) (1،1،1) ، (1،2،3) ، (2،3،4) ، (3،2،3) ؛ / *بيانات الجدول "أوامر" */ إدراج في "أوامر" (`user_id` ،` number` ، `createTime` ،` note`) (1 ، '1000010' ، '2015-06-04 13: 22: 35' ، null) ، (1 ، '1000011' ، '2015-07-08 (2 ، '1000012' ، '2015-07-17 14: 13: 23' ، null) ، (3 ، '1000012' ، '2015-07-16 18: 13: 23' ، null) ، (4 ، '1000012' ، '2015-07-15 19: 23: 23 ، (6 ، '1000012' ، '2015-07-13 16: 13: 23' ، null) ؛ / *بيانات الجدول `user` */ insert في" t_user` (اسم المستخدم "،" عيد ميلاد "،" الجنس "،" العنوان ") (" وانغ وو "، فارغة ، 2" ، خالية) ، (Zhang San "،" 2014-07-10 "،" 1 "، Beijing") Xiaoming '، Null ،' 1 '،' Zhengzhou ، Henan ') ، (' Chen Xiaoming '، Null ،' 1 '،' Zhengzhou ، Henan ') ، (' Zhang Sanfeng '، Null ،' 1 '،' Zhengzhou ، Henan ') ، (Zhang Sanfeng " ('Chen Xiaoming' ، Null ، '1' ، 'Zhengzhou ، Henan') ، ('Wang Wu' ، null ، null ، null) ، ('Xiao a' ، '2015-06-27' ، '2' ، '' ، '،' ، '،' ، '،' ، '،' ، '،' C '،' 2015-06-27 '،' 1 '،' Beijing ') ، (' xiao d '،' 2015-06-27 '،' 2 '،' Beijing ') ؛ </span>2. أفكار تحليل نموذج البيانات
(1). محتوى البيانات المسجل في كل جدول: تعرف على المحتوى المسجل في كل جدول في وحدات ، وهو ما يعادل عملية متطلبات نظام التعلم (وظائف) ؛
(2). إعدادات الميدان المهمة لكل جدول: الحقول غير الفارغة ، حقول المفاتيح الخارجية ؛
(3). العلاقة بين الجداول والجداول على مستوى قاعدة البيانات: العلاقة الرئيسية الخارجية ؛
(4). علاقة العمل بين الجداول: عند تحليل علاقة العمل بين الجداول ، يجب أن تستند إلى أهمية تجارية معينة لتحليلها.
3. تحليل أفكار قاعدة البيانات لنماذج منتج الطلب ، كما هو موضح في الشكل أدناه:
2. استعلام واحد إلى واحد
2.1. المتطلبات: معلومات طلب الاستعلام ، وربط معلومات المستخدم
2.2. تنفيذ النتيجة
2.2.1 بيان SQL
حدد الجدول الرئيسي للاستعلام: جدول الطلب ، وتحديد جدول الارتباط للاستعلام ، وجدول المستخدم ، والرمز كما يلي:
<span style = "font-family: comic sans ms ؛ font-size: 18px ؛"> Select T1.*، t2.Username ، t2.sex ، t2.address from Orders T1 ، t_user t2 where t1.user_id = t2.id </span>
2.2.2 إنشاء كيان كيان
كيان المستخدم user.java ، الرمز كما يلي:
<span style = "font-family: comic sans ms ؛ font-size: 18px ؛"> package com.mybatis.entity ؛ استيراد java.util.date ؛ استيراد java.util.list ؛ / ** * className: user * description: toDo (كيان المستخدم) * Author Ahvari */ فئة عامة مستخدم {private integer id ؛ // اسم المستخدم الخاص بالسلسلة الخاصة ؛ // جنس سلسلة الجنس الخاصة ؛ // العنوان عنوان السلسلة الخاصة ؛ // عيد ميلاد تاريخ عيد ميلاد ؛ // قائمة OrderSlist التي تم إنشاؤها من قبل المستخدم <ReserS> orderslist ؛ // getter and setter ......} </span>أوامر كيان الأمر. جافا
<span style = "font-family: comic sans ms ؛ font-size: 18px ؛"> package com.mybatis.entity ؛ استيراد java.util.date ؛ استيراد java.util.list ؛ / *** ClassName: Orders* description: toDo (order ectity)* author ahvari*/ Orders public class {/ ** key order id*/ private integer id ؛ / ** اطلب معرف المستخدم*/ userId userId الخاص ؛ / ** رقم الطلب*/ رقم السلسلة الخاصة ؛ / ** وقت الطلب*/ التاريخ الخاص CreateTime ؛ / ** ملاحظة*/ note سلسلة خاصة ؛ // معلومات المستخدم المستخدم الخاص المستخدم ؛ // تفاصيل الطلب القائمة الخاصة <SrideDetail> orderDetails ؛ // getter and setter ......} </span>كيان المنتج: items.java
<span style = "font-family: comic sans ms ؛ font-size: 18px ؛"> package com.mybatis.entity ؛ استيراد java.util.date ؛ / *** ClassName: العناصر* description: ToDo (فئة كيان المنتج)* Author Ding Guohua*/ عناصر الفئة العامة {/ ** جدول المنتج المعرف الأساسي*/ معرف Integer الخاص ؛ / ** اسم المنتج*/ سلسلة العناصر الخاصة ؛ / ** سعر المنتج*/ سعر التعويم الخاص ؛ / ** وصف المنتج*/ تفاصيل السلسلة الخاصة ؛ / ** صورة المنتج*/ صورة سلسلة خاصة ؛ / ** تاريخ الإنتاج*/ تاريخ التصميم الخاص ؛ // getter and setter ......} </span>الطلب التفاصيل الكيان OrderDetail.java
<span style = "font-family: comic sans ms ؛ font-size: 18px ؛"> package com.mybatis.entity ؛ / *** ClassName: OrderDetail* description: TODO (Order تفاصيل كيان)* Author ding guohua*/ public class orderdetail {/ ** main ، معرف قائمة التفاصيل*/ integer private ؛ / ** id*/ private integer ordersId ؛ / ** معرف المنتج*/ INTEGER الخاص ؛ / ** كمية شراء المنتج*/ INTEGER SEMEGRESNUM ؛ // معلومات المنتج المقابلة للتفاصيل عناصر العناصر الخاصة ؛ // getter and setter ......} </span>قم بإنشاء فئة غلاف لتعيين جميع معلومات الاستعلام لهذا الفصل
<span style = "font-family: comic sans ms ؛ font-size: 18px ؛">/ ** * @classname: ordersCustom * description: toDo (الفئة الموسعة من الطلبات ، والتي ترسم الطلبات ونتائج Quary من خلال هذا الفئة للسماح بالوراثة المزيد من الكيانات) * author: ding guoha * يعزى اسم المستخدم الخاص بالسلسلة الخاصة ؛ جنسية سلسلة خاصة عنوان السلسلة الخاص ؛ // getter and setter ......} </span>
2.2.3 إنشاء orderscustommapper.java ، الرمز كما يلي:
<span style = "font-family: comic sans ms ؛ font-size: 18px ؛"> package com.mybatis.mapper ؛ استيراد java.util.list ؛ استيراد com.mybatis.entity.ordersCustom ؛ / *** @classname: ordersmapperCustom* description: toDo (ordersmapperCustom mapper)* author ding guohua*/ الواجهة العامة ordersCustommapper {/ ** Query Orders ، معلومات مستخدم الاستعلام المشتركة*/ قائمة public <RourdersCustom> findordersuser () ؛ } </span>2.2.4 إنشاء OrdersCustommapper.xml هو نفس اسم الواجهة المقابلة عليه. أثناء تحميل ملف التكوين من خلال واجهة Mapper ، يكون الرمز كما يلي:
<span style = "font-family: comic sans ms ؛ font-size: 18px ؛"> <؟ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-مساحة اسم مساحة الاسم ، تتمثل الوظيفة في تصنيف إدارة SQL ، والتي يُفهمها على أنها عزل SQL: عند استخدام تطوير Agent Mapper ، فإن مساحة الاسم لها وظيفة مساوية للفضاء. مساحة الاسم = "com.mybatis.mapper.ordersCustommapper"> <!-أوامر الاستعلام ، معلومات مستخدم الاستعلام-> <select id = "findordersuser" resulttype = "com.mybatis.entity.orderscustom"> select t1. t1.user_id = t2.id </select> </mapper> </span>
2.3 تنفيذ ResultMap
2.3.1 بيان SQL نفسه على النحو الوارد أعلاه
2.3.2 أفكار رسم الخرائط الناتجة:
استخدم ResultMap لتعيين معلومات الطلب في نتيجة الاستعلام إلى كائن الطلبات ، وأضف سمة المستخدم في فئة الطلبات ، وقم بتخطيط معلومات مستخدم الاستعلام المرتبطة بسمة المستخدم في كائن الطلبات (تمت إضافته في كيان الطلبات أعلاه).
2.3.3 ordersCustommapper.xml
1. تحديد النتيجة ، الرمز كما يلي:
<span style = "font-family: comic sans ms ؛ size-size: 18px ؛"> <!-حدد نتيجة المستخدم المرتبط بترتيب الاستعلام ، خريطة نتيجة الاستعلام بأكملها إلى com.mybatis.entity.orders-> <resultmap type = "com.mybatis.entity.orders المعرف في عمود الاستعلام ، المعرف الفريد في معلومات الطلب. إذا كانت الأعمدة المتعددة تشكل معرفًا فريدًا (مثل: جدول القاموس في تصميم قاعدة البيانات العامة ، يستخدم مفتاحًا أساسيًا مشتركًا) ، فيجب تكوين معرفات متعددة العمود: عمود تعريف فريد لخصائص معلومات الطلب: السمة تم تعيينها على معلومات الطلب بواسطة عمود التعريف الفريد للحصول على معلومات الطلب (إذا: Column = "Orders_ID" Property = "OrdersId"/> ، على غرار تكوين ملف تعيين كيان Hibernate). -> <id column = "id" property = "id"/> <result column = "user_id" property = "userId"/> <result column = "number" property = "number"/> <result column = "createTime" propert الجمعية: المعلومات المستخدمة لتعيين خاصية الاستعلام المرتبطة بكائن واحد: لرسم خريطة لمستخدم الاستعلام المرتبط به الخاصية في الطلبات-> <Assistary property = "user" javatype = "com.mybatis.entity.user"> <!-id: المعرف الفريد لعمود مستخدم الاستعلام المرتبط به: تحديد العميد غير المرتبط بالمعرف. <result column = "username" property = "username"/> <result column = "sex" property = "sex"/> <result column = "addren
2. تعريف العبارة ، الرمز كما يلي:
<span style = "font-family: comic sans ms ؛ font-size: 18px ؛"> <!-أوامر الاستعلام ، مرتبطة معلومات المستخدم ، استخدم resultMap للتنفيذ-> <select id = t1.user_id = t2.id </select> </span>
3. أضف الطريقة التالية إلى واجهة ordercustommapper.java:
<span style = "font-family: comic sans ms ؛ size-size: 18px ؛">/ ** Quary Order Association Query Information ، استخدم reslutmap لتنفيذ*/ قائمة عامة <rabes> findorsuserresultmap () ؛ </span>
4.
<span style = "font-family: comic sans ms ؛ font-size: 18px ؛"> package com.mybatis.test ؛ استيراد java.io.inputstream ؛ استيراد java.util.list ؛ استيراد org.apache.ibatis.io.resources ؛ استيراد org.apache.ibatis.session.sqlsessionfactory ؛ استيراد org.apache.ibatis.session.sqlsessionfactorybuilder ؛ استيراد org.junit.before ؛ استيراد org.junit.test ؛ استيراد com.mybatis.entity.orders ؛ استيراد com.mybatis.entity.ordersCustom ؛ استيراد com.mybatis.mapper.ordersCustommapper ؛ الطبقة العامة OrdersCustommapperTest {sqlsessionfactory sqlsessionfactory ؛ // هذه الطريقة هي تنفيذ @before public void setup () rems {string resource = "sqlmapconfig.xml" ؛ inputStream inputStream = resources.getResourCeasStream (Resource) ؛ // إنشاء sqlsessionfcatory sqlsessionfactory = sqlsessionfactorybuilder () } // الاستعلام عن الطلب ، وربط معلومات مستخدم الاستعلام ، واستخدم resultType لتنفيذ اختبار testfindordorsuser testfindorsuser () {sqlsession sqlsession = sqlsessionfactory.opensession () ؛ // إنشاء OrderScustommapper OrdersCustommapper OC = SQLSession.getMapper (OrdersCustommapper.class) ؛ // Call Mapper Method List <ReserScustom> list = oc.findordersuser () ؛ system.out.println (list) ؛ sqlsession.close () ؛ } // الاستعلام عن الطلب ، وربط معلومات مستخدم الاستعلام ، والاختبارات التي تم تنفيذها باستخدام ResultMaptest public void testfindordersuserresultmap () {sqlsession sqlsession = sqlsessionfactory.opensession () ؛ // إنشاء OrderScustOmmapper ORCUSTOMMAPPER OC = SQLSession.getMapper (OrdersCustommapper.class) ؛ // Call Mapper Method List <Resers> list = oc.findordersuserResultMap () ؛ system.out.println (list) ؛ sqlsession.close () ؛ }} </span>5. ResultType و ResultMap تنفيذ ملخص الاستعلام الفردي
تنفيذ استعلام فردي:
A.ResultType: من السهل نسبيًا تنفيذها باستخدام ResultType. إذا لم يتم تضمين اسم عمود الاستعلام في POJO ، فأنت بحاجة إلى إضافة السمات المقابلة لاسم العمود لإكمال التعيين.
ب. إذا لم تكن هناك متطلبات خاصة لنتائج الاستعلام ، فمن المستحسن استخدام ResultType.
C.ResultMap: يجب تعريف ResultMap بشكل منفصل ، وهو أمر مزعج بعض الشيء. إذا كانت هناك متطلبات خاصة لنتائج الاستعلام ، فإن استخدام ResultMap يمكنه إكمال سمات رسم خرائط الاستعلام المرتبط به.
يمكن لـ D.ResultMap تطبيق التحميل البطيء ، لا يمكن لـ ResultType تنفيذ التحميل البطيء.
3. استعلام واحد إلى حد كبير
3.1 المتطلبات: أوامر الاستعلام (المستخدمين المرتبطين) وتفاصيل الطلب ؛
3.2 أضف القائمة <SrideDetail> orderDetails في فئة Orders.java (تمت إضافة الكيان أعلاه). أخيرًا ، سيتم تعيين معلومات الطلب في الطلبات ، ويتم تعيين تفاصيل الطلب المقابلة للطلب في خاصية OrderDetails في الطلبات.
3.3 أضف ما يلي في OrdersCustommapper.xml
<span style = "font-family: comic sans ms ؛ font-size: 18px ؛"> <!-Query Order Association Query Detail and Order Detail-> <select id = t3.items_id ، t3.items_num ، t3.orders_id من الطلبات t1 ، t_user t2 ، orderdetail t3 where t1.user_id = t2.id و t3.orders_id = t1.id </select> </span>
تتم إضافة تعريف ResultMap أيضًا إلى OrdersCustommapper.xml
<span style = "font-family: comic sans ms ؛ font-size: 18px ؛"> <!-resultmap for Querying Orders (user user orderials) and order-> <resultmap type = "com.mybatis.entity.orders" id = يمتد الميراث ، ولا تقم بتكوين تعيين معلومات الطلب ومعلومات المستخدم فيه-> <!-معلومات التفاصيل المرتبطة بالطلب ، واحد ، يجب أن يكون هناك تفاصيل ترتيب متعددة. أنت بحاجة إلى استخدام مجموعة رسم الخرائط للمجموعة: رسم خريطة سجلات متعددة تم الاستعلام عنها في خاصية Association إلى خاصية المجموعة من النوع: حدد نوع pojo في خاصية المجموعة المعينة-> <collection property = "orderdetails" oftype = "com.mybatis.entity.orderDetail"> <! <id column = "orderdetail_id" property = "id"/> <result column = "items_id" property = "itemsid"/> <result column = "heads_num" property = "itemsnum"/> <result column = "orders_id" property =
3.4 أضف طريقة إلى فئة واجهة ordercustomemapper.java ، الرمز كما يلي:
<span style = "font-family: comic sans ms ؛ size-size: 18px ؛">/ ** Query Order (Associated user) و Order Details*/ Public List <DressDetail> findordersandDorderDetailResultMap () ؛ </span>
3.5 إضافة طرق اختبار إلى فئة اختبار Junit ، فإن الكود كما يلي:
<span style = "font-family: comic sans ms ؛ font-size: 18px ؛"> // اختبار أوامر الاستعلام (المستخدمين المرتبطين) وترتيب تفاصيل stest public void testfindordersandorderderdetailresultmap () {sqlsession sqlsession = sqlsAdentFactory.Opensession () ؛ // إنشاء OrderScustOmmapper ORCUSTOMMAPPER OC = SQLSession.getMapper (OrdersCustommapper.class) ؛ // Call Mapper Method List <DressDetail> list = oc.findordersandorderDetailResultMap () ؛ system.out.println (list) ؛ sqlsession.close () ؛ } </span>3.6 ملخص
يستخدم MyBatis مجموعة ResultMap لتعيين سجلات متعددة للاستعلام المرتبط في خاصية مجموعة القائمة. التنفيذ باستخدام ResultType: Map Order تفاصيل في OrderDetails في الطلبات ، والتي يجب معالجتها من قبل نفسك ، واستخدام عبور حلقة مزدوجة ، وإزالة السجلات المكررة ، وتفاصيل الطلب في OrderDetails.
4. استعلام كثير إلى الكثير
4.1 المتطلبات: الاستعلام عن المستخدم ومعلومات المنتج التي تم شراؤها من قبل المستخدم
4.2 رسم خرائط الأفكار
خريطة معلومات المستخدم في المستخدم ، أضف قائمة سمات قائمة الطلبات <ReserS> orderslist في فئة المستخدم لتعيين OrdersList ؛ إضافة قائمة سمات قائمة تفاصيل الطلب <DressDetail> OrderDetials في الطلبات ، قم بتخطيط تفاصيل الطلب إلى OrderDetials ؛ أضف سمة العناصر في OrderDetail لتعيين العناصر المقابلة لتفاصيل الطلب إلى العنصر.
4.3 OrdersCustommapper.xml يضيف الرمز التالي:
<span style = "font-family: comic sans ms ؛ font-size: 18px ؛"> <!-resultmap للاستعلام عن معلومات المنتج التي تم شراؤها من قبل المستخدم-> <resultmap type = "com.mybatis.entity.user" id = "userAnditEmSressultMap"> <!-معلومات المستخدم- property = "username"/> <result column = "sex" property = "sex"/> <result column = "address" property = "address"/> <!-اطلب معلومات يتوافق المستخدم مع أوامر متعددة ، باستخدام تعيين المجموعة-> <collection property = "orderslist" operive = "usepe =" user_ided ". <result column = "number" property = "number"/> <result column = "createTime" property = "createTime"/> <result column = "note" property = "note"/> <result column = "note"/> <result column = "note" property =! column = "orderdetail_id" property = "id"/> <result column = "items_id" property = "itemsid"/> <result column = "item_num" property = "headsnum"/> <result column = "orders_id" property = "ordersId"/> column = "items" javatype = "com.mybatis.entity.items"> <id column = "items_id" property = "id"/> <result column = "items_name" property = "headname"/> <result column = "items_name" propert </sixpension> </collection> </collection> </resultmap> <!-للاستعلام عن معلومات المنتج التي تم شراؤها من قبل المستخدمين والمستخدمين ، استخدم resulamap-> <select id = "findUserAndItemSultMap" resultMap = "useranditemsresultmap"> select t1. t3.items_num ، t3.orders_id ، t4.itemsname heads_name ، t4.detail heads_detail ، t4.price heads_price من الأوامر t1 و t_user t2 و orderdetail t3 و t4 where t1.user_id = t2.id و t3
4.4 أضف الطريقة التالية في OrderCustommapper.java:
<span style = "font-family: comic sans ms ؛ size-size: 18px ؛"> / ** Queped معلومات المنتج التي تم شراؤها من قبل المستخدمين والمستخدمين* / القائمة العامة <Sether> FindUserAndItemSultMap () ؛ </span>
4.5 إضافة طرق اختبار إلى اختبار Junit ، فإن الرمز كما يلي:
<span style = "font-family: comic sans ms ؛ font-size: 18px ؛"> // Quepy of the Products of the user by the user the user testfinduserAndUserMAP () // إنشاء كائن وكيل OrdersCustommapper OC = SQLSession.getMapper (OrdersCustommapper.class) ؛ // Call Mapper Method List <Sether> list = oc.finduserAndItemSresultMap () ؛ system.out.println (list) ؛ sqlsession.close () ؛ } </span>
4.6 ملخص ResultMap
النتيجة:
الوظيفة: قم بتخطيط نتائج الاستعلام في POJO وفقًا لاسم سمة عمود SQL POJO ، اتساق اسم السمة.
المناسبة: العرض الشائع للسجلات التفصيلية ، مثل عندما يقوم المستخدمون بشراء تفاصيل المنتج وعرض جميع معلومات الاستعلام المرتبطة بالصفحة ، يمكنك استخدام ResultType مباشرة لتعيين كل سجل في POJO ، وتجارة القائمة (POJO في القائمة) في الصفحة الأمامية.
النتيجة:
الاستخدام: الارتباط والجمع لإكمال رسم الخرائط المتقدمة الفردية والآخر (هناك متطلبات رسم خرائط خاصة للنتائج).
منظمة:
الوظيفة: قم بتخطيط معلومات الاستعلام المرتبطة به في كائن Pojo.
المناسبة: من أجل تسهيل الاستعلام عن المعلومات المرتبطة بها ، يمكنك استخدام الارتباط لتعيين معلومات الطلب المرتبطة به في سمات POJO لكائنات المستخدم ، مثل: الاستعلام عن أوامر ومعلومات المستخدم المرتبطة بها.
لا يمكن باستخدام ResultType تعيين نتائج الاستعلام إلى سمة Pojo لكائن PoJo. اختر ما إذا كنت تريد استخدام ResultType أو ResultMap وفقًا لاحتياجات اجتياز استعلام مجموعة النتائج.
مجموعة:
الوظيفة: قم بتخطيط معلومات الاستعلام المرتبطة به في مجموعة قائمة.
المناسبة: من أجل تسهيل معلومات جمعية التجارة ، يمكنك استخدام المجموعة لتعيين معلومات الجمعية إلى مجموعة القائمة. على سبيل المثال: الاستعلام عن وحدة نطاق إذن المستخدم والقائمة أسفل الوحدة النمطية ، يمكنك استخدام المجموعة لتعيين قائمة الوحدة النمطية لرسم خريطة لسمات قائمة القائمة لكائن الوحدة النمطية. والغرض من ذلك هو تسهيل اجتياز الاستعلام عن مجموعة نتائج الاستعلام.
إذا كنت تستخدم resultType ، لا يمكنك تعيين نتائج الاستعلام إلى مجموعة القائمة.
ما سبق هو التعيين المتقدم في MyBatis الذي قدمه لك المحرر. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!