Mybatis批量更新多个字段

新项目用到了Mybatis,好久没用了,有些比较生疏。今天需要批量更新部分数据

最开始用的是:


    update pay_bill 
    set  bill_status=
    
        when #{item.id} then #{item.billStatus}
    
    set  approval_date=
    
        when #{item.id} then #{item.approvalDate}
    
    where id in
    
        #{item.id,jdbcType=INTEGER}
    
 

但是发送的SQL报错

后来在网上找到了多次update的方式,但是要配置在数据库连接配置上allowMultiQueries=true,如:jdbc:mysql://10.10.20.36:3306/test?allowMultiQueries=true,但是这样的效率并不高。

于是换了种,并且效率也可以

代码:


		update pay_bill   
          
              
                  
                           when id = #{item.id} then #{item.billStatus}   
                  
             
              
                  
                           when id = #{item.id} then #{item.approvalDate}  
                  
              
          
        where id in
        
	        #{item.id,jdbcType=INTEGER}
	           
  

问题解决!小计一下

你可能感兴趣的:(java,mybatis)