Mybatis实现批量新增,修改,删除?
背景: 基础的操作往往经常用到,时常会调试,为了以后使用方便,特此纪要.
说明: 主要是对foreach,trim等标签的应用.(是完成上述操作的重心.)
问题: Mybatis如何实现SQL处理批量新增,修改,删除?
前情提要:首先了解一下foreach和trim都有那些属性,以方便对其更好的操作.
<foreach>:
collection: 集合的类型或传递过来的集合实例名.
(数组:array,List:List,Map:Map,自己定义的对象:对象实例名)
open: open表示拼接的内容以什么内容开始,是最外层的嵌套.
close: close表示拼接的内容以什么内容结束,也是最外层的嵌套.
separator: separator表示什么内容作为间隔或分割拼接的数据.
index: index在List和数组中表示数组的下标,在Map中表示Map的key.(可以省略)
item:
item的内容如果是List<Obj) objList对象,此时item是Obj对象的引用,其中的参数需要另外单独去取.
item的内容如果是<Object>[] arr数组,此时的item是数组中的内容.
<trim>:
prefix: prefix表示拼接的内容以什么内容开始.("prefix"表示前缀)
suffix: suffix表示拼接的内容以什么内容结束.("suffix"表示后缀)
prefixOverrides: prefixOverrides表示去除SQL之前的指定内容.
suffixOverrides: suffixOverrides表示去除SQL之后的指定内容. (suffixOverrides表示在...之后进行处理)
解决办法:
为了直观的了解和使用,附上相关实例以供参考:
// 批量修改.
public int batchEdit(Set<Long> idsSet, String star