mybatis批量操作Oracle数据

 

一、批量插入数据bean对象数据

实体类如下:

/**
	 * 标签ID(主键)
	 */
	private String tag_Id;
	/**
	 * 进出库时间
	 */
	private Date io_Time;
	/**
	 * 进出库状态(0:未授权  1:授权)
	 */
	private String status;

 

接口如下:

public int insertAllTreasuryInfo(List list);
mybatis.xml文件

		insert into t_io_treasury
		(tag_Id, io_Time, status)
		
			select
			#{item.tag_Id},#{item.io_Time},#{item.status}
			from dual
		
	 
  1. 二、批量插入String字符类型

		insert into t_io_treasury
		(tag_Id)
		
			select
			#{item}
			from dual
		
	

其中#{item}使用的是item而不是#{tag_Id}
   如果是bean对象就得使用item.tag_Id。
 


  insert into tb_shop_updatePrice_error_temp (shop_commondity_id, name, unit, shop_id, shopSell_price)
  values
  
    (#{item.shopCommondityId,jdbcType=BIGINT}, #{item.name,jdbcType=VARCHAR},
    #{item.unit,jdbcType=VARCHAR}, #{item.shopId,jdbcType=BIGINT},
    #{item.shopsellPrice,jdbcType=DECIMAL})
  

接口:int insert(List list);

注意:不能使用close=“)”和open“)”。

 

三、批量更新

批量更新(不含动态语言)

 
        UPDATE t_io_treasury SET io_Time = sysdate WHERE tag_id IN  
                    separator="," close=")">  
            #{idItem.tag_Id}  
       
  

   

批量更新动态


  update tb_commodity_price
  
    
      commodity_id = #{item.commodityId,jdbcType=INTEGER},
    
    
      receivable_style = #{item.receivableStyle,jdbcType=INTEGER},
    
    
      receivable_price = #{item.receivablePrice,jdbcType=DECIMAL},
    
    
      is_delete = #{item.isDelete,jdbcType=CHAR},
    
  
  
    
      AND commodity_id = #{item.commodityId,jdbcType=INTEGER}
    
    
      AND receivable_style = #{item.receivableStyle,jdbcType=INTEGER}
    
  

四、批量删除

   
        DELETE FROM t_io_treasury where tag_id in  
                    separator="," close=")">    
            #{item}    
       
   
   
 

五、批量查询

 

查询详细介绍:http://fireinjava.iteye.com/blog/1779420

 

批量操作详细介绍:http://blog.csdn.net/hardworking0323/article/details/51105218

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(mybatis)