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