一,增
MyBatis的批量插入
首先在Mapper层中定义如下方法:
1 int addStudentBatch(@Param("students") List<Student> students);
然后在对应的XML文件中写入如下语句:
1 <insert id="addStudentBatch"> 2 insert into 3 student(name,class) 4 values 5 <foreach collection ="students" item="student" index= "index" separator =","> 6 ( 7 #{student.name}, 8 #{student.class} 9 ) 10 </foreach > 11 12 </insert>
注意:Collection中的名字与mapper中的参数名相对应,item与类名相对应.
二,改
MyBatis的批量修改
首先在Mapper层中定义如下方法:
1 int updateDeviceAlarmDataById(Map<String,Object> map);
然后在对应的XML文件中写入如下语句:
1 <update id="updateDeviceAlarmDataById" parameterType="java.util.Map"> 2 <!-- 接收list参数,循环着组装sql语句,注意for循环的写法 3 separator=";" 代表着每次循环完,在sql后面放一个分号 4 item="cus" 循环List的每条的结果集 5 collection="list" list 即为 map传过来的参数key --> 6 <foreach collection="list" separator=";" item="cus"> 7 update alarm_condition_device 8 <set> 9 <if test="cus.deviceId != null"> 10 device_id = #{cus.deviceId,jdbcType=VARCHAR}, 11 </if> 12 <if test="cus.alarmConditionId != null"> 13 alarm_condition_Id = #{cus.alarmConditionId,jdbcType=VARCHAR}, 14 </if> 15 <if test="cus.isProcess != null"> 16 is_process = #{cus.isProcess,jdbcType=TINYINT}, 17 </if> 18 <if test="cus.isDel != null"> 19 is_del = #{cus.isDel,jdbcType=TINYINT} 20 </if> 21 </set> 22 where id = #{cus.id,jdbcType=VARCHAR} 23 </foreach> 24 </update>
二,删
MyBatis的批量删除
首先在Mapper层中定义如下方法:
1 int deleteAudioAudioFiles(@Param("ids") List<String> ids);
然后在对应的XML文件中写入如下语句:
1 <delete id="deleteAudioAudioFiles" parameterType="java.lang.String"> 2 delete from 3 agms_verify 4 where id in 5 <foreach collection="ids" item="id" open="(" separator="," close=")"> 6 #{id,jdbcType=VARCHAR} 7 </foreach> 8 </delete>