用原始的jdbc批量插入数据

原始的jdbc批量插入数据的方法

@Service("importDao")
@Transactional                                    //使用jdbc进行批量操作
public class ImportExcelToOracleDaoImpl  extends JdbcDaoSupport implements ImportExcelToOracleDao{
	

	
	  public void insertComplaintBatch(final List<ComplaintWorker> complaintWorkers) {  //参数传一个实体类的集合
			String sql = "insert into TB_CMCC_COMPLAINT_WORKERS"
					+ "(FILE_ID,ACCPT_PHONE,COMPLAINT_CONTENE,LOCATION,ACCPT_CHANNEL,ACCPT_TIME,CREATE_TIME,PROBLEM_TYPE,REPEAT_NUM,SPARE1,SPARE2,SPARE3,WHOLE_NETWORK_ID) "
					+ "values (? , ? , ? , ? , ? , ? , sysdate , ? , ? , ? , ? , ? , ?) ";
			this.getJdbcTemplate().batchUpdate(sql, new BatchPreparedStatementSetter() {  
	        	@Override
	        	public void setValues(PreparedStatement ps, int i) throws SQLException {  i就是batchSize()集合的长度
	        		ComplaintWorker cw = complaintWorkers.get(i);
	        		ps.setString(1, cw.getFileId());
					ps.setString(2, cw.getAccptPhone());
					ps.setString(3, cw.getComplaintContent());
					ps.setString(4, cw.getLocation());
					ps.setString(5, cw.getAccptChannel());
					if (cw.getAccptTime() == null || "".equals(cw.getAccptTime())) {
						ps.setString(6, cw.getAccptTime());
					} else {
						ps.setTimestamp(6, Timestamp.valueOf(cw.getAccptTime()));
					}
					ps.setString(7, cw.getProblemType());
					ps.setInt(8, cw.getRepeatNumber());
					ps.setInt(9, cw.getSpare1());
					ps.setString(10, cw.getSpare2());
					ps.setString(11, cw.getSpare3());
	        		ps.setString(12, cw.getWholeNetworkId());
	        		
	              
	            }  
	            public int getBatchSize() {  
	                return complaintWorkers.size();  
	            }
			
	        });  
	    }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值