يستخدم Foreach بشكل أساسي في البناء في الظروف ، ويمكنه التكرار عبر مجموعة في عبارات SQL. تتضمن سمات عنصر foreach بشكل أساسي العنصر والفهرس والمجموعة والمفتوحة والفاصل والإغلاق. يمثل العنصر الاسم المستعار عندما يتم تكرار كل عنصر في المجموعة. يحدد الفهرس اسمًا لتمثيل الموضع الذي يتم الوصول إليه لكل تكرار أثناء عملية التكرار. يمثل Open ما يبدأ بالبيان ، ويمثل الفاصل ما هي الرموز التي يتم استخدامها كفواصل بين كل تكرار ، ويمثل الإغلاق ما ينتهي. الشيء الأكثر أهمية والأكثر عرضة للخطأ عند استخدام foreach هو سمة المجموعة. يجب تحديد هذه السمة ، ولكن في حالات مختلفة ، تختلف قيمة السمة. هناك ثلاث حالات رئيسية:
إذا كان تم تمريره هو معلمة واحدة ونوع المعلمة هو قائمة ، فإن قيمة سمة المجموعة هي قائمة.
إذا كان تم تمريره هو معلمة واحدة ونوع المعلمة عبارة عن صفيف ، فإن قيمة خاصية المجموعة هي صفيف.
إذا تم تمرير معلمات متعددة ، نحتاج إلى تغليفها في خريطة. بالطبع ، يمكن أيضًا تغليف معلمة واحدة في خريطة. في الواقع ، إذا قمت بالمرور في المعلمات ، فسيتم تغليفه أيضًا في خريطة في MyBatis. مفتاح الخريطة هو اسم المعلمة ، لذلك في هذا الوقت تكون قيمة سمة المجموعة هي مفتاح القائمة أو كائن الصفيف الذي تم تمريره في الخريطة المغطاة بنفسه.
دعونا نمارسه من خلال الكود:
جدول البيانات:
باستخدام جدول Oracle's HR.employees
الكيان: الموظفون
موظفو الطبقة العامة {private integer amployeeId ؛ سلسلة خاصة firstName ؛ سلسلة خاصة البريد الإلكتروني الخاص بالسلسلة الخاصة ؛ سلسلة خاصة. تاريخ خاص مستأجر ؛ سلسلة خاصة JobID ؛ راتب خاص خاص ؛ اللجنة الخاصة الخاصة بمنجمة كبيرة ؛ مجموعة عدد صحيح من المدير ؛ قسم قصير خاص ؛}ملفات التعيين:
<!-القائمة: نوع سمة المجموعة في Forech هو القائمة ، يجب أن تكون قيمة المجموعة: قائمة ، يمكن أن تكون قيمة العنصر تعسفيًا ، وأسماء المعلمات في واجهة DAO تعسفية-> <select id = "getEmployEesLieSliesParams" resultType = "effect"> select * select from e employe_id in <for erv expan فاصل = "،" ،> #{keameeeId} </foreach> </select> <!-صفيف: نوع سمة المجموعة في صفيف ، يجب أن تكون قيمة المجموعة: قائمة ، يمكن أن تكون قيمة العنصر تعسفيًا ، وأسماء المعلمة في effect_id existrary-expistrary eforme. collection = "array" item = "effecteeId" index = "index" open = "(" elute = ")" seffeleator = "،"> #{effereneiD} </foreach> </select> <!-map: ليس فقط سمة المجموعة في forech هي map.key ، ولكن جميع السمات الأخرى هي map.key ، مثل القسم التالي- e <here> <if test = "DepartmentId! = null and departyid! = ''"> فاصل = "،"> #{keffereneid} </foreach> </fore> </where> </rection>فئة Mapper:
الواجهة العامة الموظفين {LIST <splist> getEmployEesListerParams (قائمة <String> effecteees) ؛ قائمة <formist> getEmployeSarrayParams (سلسلة [] الموظفين) ؛ قائمة <formist> getEmployeSmapparams (Map <String ، Object> params) ؛}ما ورد أعلاه هو الوصف الكامل لطريقة الكتابة في MyBatis Set Set List Map Parameters المقدمة لك من قبل المحرر. آمل أن يكون ذلك مفيدًا للجميع!