Mybatis中的foreach方法,批量插入和批量删除

介绍一种比较简单的批量操做,一个批量添加一个批量删除:java

java代码:app

public class User implements Serializable {spa

private Integer id;xml

private String name;字符串

private String password;get

//setter and getterstring

}it

对应的Mapper.xmlio

<ResultMap type="User" id="UserResultMap">ast

<id column="id" property="id" jdbcType="Integer"/>

<result column="name" property="name" jdbcType="VARCHAR" /> 

<result column="password" property="password" jdbcType="VARCHAR" /> 

</ResultMap>



Mapper.xml中对应的批量插入方法:(传入的是一个List集合)

<insert id="add" useGeneratedKeys="true" parameterType="java.util.List">

<selectKey resultType="long" keyProperty="id" order="AFTER">

select last_insert_id()

</selectKey>

insert into t_user (name,password) values

<foreach collection="list" item="item" index="index" separator=",">

(#{item.name},#{item.password})

</foreach>

</insert>


Mapper.xml中对应的批量删除的方法:(传入的是一个string字符串,ids)

<delete id="delete" parameterType="java.lang.String">

delete from t_user where id in (“${_param}”);($好像是#号,记不太清了,能够试下)

</delete>


OK!