Mybatis-批量操作(增、删、改)操作

Oracle 和 MySQL的语法有一些差异,使用时注意!

1、批量更新


  
    
      update tableName
      set yqb = #{item.yqb}
      where id = ${item.id}
    
  


  
    
      update tableName
      set yqb = #{item.yqb}
      where id = ${item.id}
    
  

2、批量删除

  1. 注:oracle数据库in查询数量最多支持1000个,超过会报错;使用需谨慎
  

    delete from tableName 
    where id in (
      
        #{item,jdbcType = VARCHAR}
      
    )
  

3、批量新增

  1. 注:foreach标签底层使用的递归的方式实现,如果插入数量过多有可能导致栈溢出错误;需谨慎使用
   

    insert into tableName(id,name,age)
    
      select #{item.id,jdbcType = VARCHAR},#{item.name,jdbcType = VARCHAR},#{item.age,jdbcType = VARCHAR}
      from dual
    


   

    insert into tableName(id,name,age)
    
      select #{item.id,jdbcType = VARCHAR},#{item.name,jdbcType = VARCHAR},#{item.age,jdbcType = VARCHAR}
      from dual
    

 

你可能感兴趣的:(Mybatis系列)