//dao code is the same if the incoming parameter is an array void insertDefaultMsg(@Param("idsList") ArrayList<String> idsList); //xml file <update id="insertDefaultMsg" parameterType="java.util.List"> UPDATE plf_pur_delivery_plan p SET p.promise_delivery_amount = p.quantity_req, p.promise_delivery_time = p.quantity_time WHERE p.id IN <foreach item="item" collection="idsList" separator="," open="(" close=")" index=""> #{item, jdbcType=VARCHAR} </foreach> </update> //if a string is passed in //service code Map<String, String> map = bean.getDatas().get(0); String ids = map.get("ids"); String[] idsArr = ids.split(","); String inId = ""; for (int i = 0; i < idsArr.length; i++) { if (i != idsArr.length - 1) { inId += "'" + idsArr[i] + "',"; } else { inId += "'" + idsArr[i] + "'"; } } List<Map<String, String>> list = purDeliveryPlanDao .getPlanListManual (inId); //dao layer code List<Map<String, String>> getPlanListManual(@Param("inId") String inId); //xml file <select id="getPlanListManual" parameterType="java.lang.String" resultType="java.util.Map"> SELECT p.supplier_code, p.pur_order_no, IF( p.update_times > 0, 'Change Order', 'new order' ) AS order_type FROM plf_pur_delivery_plan p WHERE p.is_notice = '0' AND p.is_delete = '1' AND p.id in(<![CDATA[${inId}]]>) GROUP BY p.supplier_code, p.pur_order_no ORDER BY p.supplier_code </select>
Mybatis passes in the List parameter
Guess you like
Origin http://10.200.1.11:23101/article/api/json?id=327040890&siteId=291194637
Ranking