مقدمة
هناك سمة ParameterType في العناصر المحددة وإدراجها وتحديثها وحذفها في ملف MyBatis Mapper ، والذي يتم استخدامه لأنواع المعلمات المقابلة المقبولة بواسطة طريقة واجهة Mapper. تقدم هذه المقالة بشكل أساسي المحتوى ذي الصلة حول نوع المعلمة في MyBatis. يتم مشاركته للرجوع إليه وتعلمك. لن أقول الكثير أدناه. دعونا نلقي نظرة على المقدمة التفصيلية معًا.
1. يتم تقسيم نوع المعلمة من mybatis إلى نوعين
1. 1. أنواع البيانات الأساسية: int ، سلسلة ، طويلة ، التاريخ ؛
1. 2. أنواع البيانات المعقدة: الفئات والخرائط
2. كيفية الحصول على القيمة في المعلمة:
2.1 نوع البيانات الأساسية: #{parameter} احصل على القيمة في المعلمة
2.2 نوع البيانات المعقدة: #{اسم السمة} ، #{key} في الخريطة
3. الحالة:
3.1 حالات نوع البيانات الأساسية
<sql id = "base_column_list"> id ، car_dept_name ، car_maker_name ، icon ، car_maker_py ، hot_type </sql> <select id = "selectByPrimAkey" refid = "baseResultMap" parametertype = "java.lang.long" common_car_make حيث id = #{id ، jdbctype = bigint} </select>3.2 نوع الخريطة المعقدة
<select id = "querycarmakerlist" resultmap = "baseresultmap" parametertype = "java.util.map"> حدد <تضمين refid = "base_column_list" /> من common_car_make cm حيث 1 = 1 <test = "id! = null"> test = "cardeptname! = null"> و cm.car_dept_name = #{cardeptname ، jdbctype = varchar} </fare> <if test = "carmakername! = null"> و cm.car_maker_name = #{carmakername ، jdbctype = varchar} cm.hot_type = #{hottype ، jdbctype = bigint} </if> order by cm.id </select>3.3 أنواع الفئة المعقدة
<update id = "updateByPrimaryKeySelective" parametertype = "com.epeit.api.model.CommonCarmake"> update common_car_make <set> <test = "cardeptname! car_maker_name = #{carmakername ، jdbctype = varchar} ، </if> <if test = "icon! = null"> icon = #{icon ، jdbctype = varchar} ، </if> <test = "carmakerpy! = null" </if> <if test = "hottype! = null"> hot_type = #{hottype ، jdbctype = bigint} ، </if> </st> حيث id = #{id ، jdbctype = bigint} </update>3.4 نوع معقد-الحالة التي يتم فيها تضمين المصفوفات في الخريطة
<select id = "selectProDorderByOrderId" resultType = "com.epeit.api.model.proorder" parametertype = "java.util.hashmap"> select sum (pro_order_num) proDordnum ، product_id productid ، propervion_id properform من حيث 1 = 1 < item = "item" open = "order_id in (" seplator = "،" elut = ")"> #{item ، jdbctype = bigint} </foreach> </If> group by product_id ، propertion_id </select>4. التعليق التوضيحي @Param: هذا مميز تمامًا ، لكن من السهل الفهم
الحالة 1:
@Param(value="startdate") String startDate : توضيح خاصية واحدة ؛ هذا مشابه لإعادة تسمية المعلمة مرة واحدة
على سبيل المثال ، تكوين عبارات SQL (DAO Layer) في *mapper.xml استدعاء myBatis
قائمة <Tring> selectIdBySorttime (param (value = "startDate") String StartDate) ؛
ثم يجب مطابقة العبارة الواردة في XML مع المحتوى في قوسين param: المعلمة هي StartDate
<ed select id = "selectIdBysorttime" resultType = "java.lang.string" parametertype = "java.lang.string"> حدد AjlCid متميز من ebd_fh_ajlc whertime> = to_date (#{startdate ، jdbctype = varchar} ، ' keyvalue in (حدد اسم شركة متميزة من ebd_fh_company_list حيث isUpdate = '0') </select> الحالة 2:
التعليق التوضيحي Javabean ،@param (value = "datevo") Datevo DateVo ؛ تحتاج إلى الانتباه إلى المعلمات المكتوبة
قائمة <Tring> SELECTIDS (param (value = "datevo") datevo datevo) ؛
ملف التعيين المقابل
<select id = "selectids" resulttype = "java.lang.String" parametertype = "com.api.entity.datevo"> حدد ajlcid متميز من ebd_fh_ajlc حيث sorttime> = to_date (# {datevo.startdate ، jdbctype = varchar} create_date = updated_date و keyvalue in (حدد اسم شركة متميزة من ebd_fh_company_list حيث isUpdate = '0') </select>أما بالنسبة للمزايا والعيوب ، فهذا يعتمد على تفضيلاتك الشخصية
لخص
ما سبق هو المحتوى الكامل لهذه المقالة. آمل أن يكون لمحتوى هذه المقالة قيمة مرجعية معينة لدراسة أو عمل الجميع. إذا كان لديك أي أسئلة ، فيمكنك ترك رسالة للتواصل. شكرا لك على دعمك إلى wulin.com.