jdbc 数据批量更新update操做

        java操做数据库批量更新主要为addBatch() 和executeBatch()方法,通常将数据存储在ArrayList里面,一次批量更新为一个addBatch(),所有更新完后,统一执行executeBatch()方法。一下为代码:java

 public void UpdateData2(List<String[]> list){
        try {
        connection = getConnection();
        String  sqlStr = "update t_mas_tph set TPHNAME=?,GENERATEPOSITION=?,GENERATELON=?,GENERATELAT=?,LANDPOSITION=?,LANDLON=?,LANDLAT=?,LOGINTIME=?,TPHINTENSITY=?  where TPHNUMBER=?";
        pstm = connection.prepareStatement(sqlStr);
         for (String[] strings : list) {
             if(strings.length==8){
                     pstm.setString(1, strings[1]);
                     pstm.setString(2, strings[2]);
                     pstm.setString(3,strings[3].split(",")[0] );
                     pstm.setString(4, strings[3].split(",")[1]);
                     pstm.setString(5, strings[4]);
                     pstm.setString(6, strings[5].split(",")[0]);
                     pstm.setString(7, strings[5].split(",")[1]);
                     pstm.setObject(8, ChangeTime2Date(strings[6]));
                     pstm.setString(9, strings[7]);
                     pstm.setString(10,strings[0] );
                     
                   }else{
                       continue;
                   }
             pstm.addBatch();
            }
          pstm.executeBatch();
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            ReleaseResource();
        }
  }sql

 

注:往数据库里面添加date类型数据时,须要用到String类型时间转化为date:数据库


    public Object ChangeTime2Date(String timeStr) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        try {
            Date dateFormat =sdf.parse(timeStr);
            java.sql.Timestamp dateSQL = new java.sql.Timestamp(dateFormat.getTime());
            return dateSQL;
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;
    }orm