MyBatis实现批量删除,传入的参数值是字符串数组
同样也可以传入List类型
批量插入 运用foreach 传入一个List实例
collection="list" 也可以是array 如果参数类型是map collection="list" 指定map的key 就可以了。
<delete id="delete" parameterType="java.lang.String"> DELETE FROM tableName where uuid in <foreach item="idItem" collection="array" open="(" separator="," close=")"> #{idItem} </foreach> <!--注意两个idItem要要一至 否则会得不到值--> </delete>
同样也可以传入List类型
<delete id="delete" parameterType="java.util.List"> DELETE FROM tableName where uuid in <foreach item="idItem" collection="list" open="(" separator="," close=")"> #{idItem} </foreach> <!--注意两个idItem要要一至 否则会得不到值 如果List中放的值类型是字符串则直接用item 如果是对象则 #{idItem.name}--> </delete>
批量插入 运用foreach 传入一个List实例
<insert id="insertBatch" parameterType="java.util.List"> INSERT INTO ST_BUSATTROUT ( NAME, VBUS, F, ANG, FAULT_NO, BUS_NO, BUSREF ) <foreach collection="list" item="item" index="index" separator="union all"> select #{item.name,jdbcType=VARCHAR}, #{item.vbus,jdbcType=INTEGER}, #{item.f,jdbcType=INTEGER}, #{item.ang,jdbcType=INTEGER}, #{item.faultNo,jdbcType=INTEGER}, #{item.caseNode.id,jdbcType=INTEGER}, #{item.busRef,jdbcType=VARCHAR} FROM DUAL </foreach> </insert>
collection="list" 也可以是array 如果参数类型是map collection="list" 指定map的key 就可以了。