Mybatis批量插入或更新(根据指定字段更新)

        Mybatis批量更新运用ON DUPLICATE KEY UPDATE ,如果记录不存在则插入,存在则更新。那么这个记录是否存在根据什么判断?规则如下:

      如果你插入的记录导致UNIQUE索引重复,则认为这条记录存在。比如我创建表的时候设置的唯一索引为字段email,那么如果email重复时则执行更新,否则插入。当如果唯一索引为多个字段时如name,tchCode,那么当name,tchCode两个字段完全重复时候,此时就要执行更新语句。当然满足一部分唯一索引是不会触发更新操作的,此时会执行插入操作。

        接下来dao层:

        xml中的代码为:

update的字段名都是表中的字段名,包括values()中的

foreach元素的属性主要有 item,index,open,close ,separator,collection。

  1. item表示集合中每一个元素进行迭代时的别名
  2. index指 定一个名字,用于表示在迭代过程中,每次迭代到的位置
  3. open表示该语句以什么开始
  4. close表示以什么结束
  5. separator表示在每次进行迭代之间以什么符号作为分隔符
  6. collection传入的是参数,可以是list,array.传入的是单参数且参数类型是一个array数组的时候,collection的属性值为array

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值