在编辑批量逻辑删除和批量添加sql语句中遇到的问题
使用批量增删改时要注意的事项
在进行批量修改和批量逻辑删除的sql语句中使用<forEach> 标签,这里是可以使用open和close在标签内的开头和结尾添加()的
<!-- 批量删除宿舍中的学生
boolean removeDormitoryStudent(List<Integer> stuId);-->
<update id="removeDormitoryStudent">
update student_dormitory_relation set delete_flag = 1 where student_id in
<foreach collection="list" item="stuId" open="(" close=")" separator=",">
#{stuId}
</foreach>
</update>
而在批量添加中的sql语句中使用<forEach> 标签,这里就不可以使用open和close,要在开头和结尾手动加上()
<!-- // 通过学生id 添加到宿舍内
Integer saveDormitoryStu(@Param("stuId") List<String> stuId,@Param("dormitory") Dormitory dormitory);-->
<insert id="saveDormitoryStu">
insert into student_dormitory_relation
(student_id,dormitory_dormitory_id,dormitory_dormitory_name,delete_flag,create_time,update_time)
values
<foreach collection="stuId" item="stuId" separator=",">
(
#{stuId},
#{dormitory.dormitoryId},
#{dormitory.dormitoryName},
0,
now(),
now()
)
</foreach>
</insert>

浙公网安备 33010602011771号