下面编程是一个Java中JDBC的事务例子
注意:Java中开启connection默认开启事务!
int i=0;
Connection conn = dbconn.getConnection();
while(i<arr.size()) {
//从接口中获取到邮箱号和工号 mail=arr.getJSONObject(i).getString("mail");
mail=mail+"@***.com.cn";
empNum=arr.getJSONObject(i).getString("employee");
//把符合条件的工号对应的邮箱更新
String sql="update T_HR_PersonContactMethod set femail=?,FLastUpdateTime=sysdate where fpersonid=(select fid from t_bd_person where fnumber=?)";
try {
PreparedStatement psmt = conn.prepareStatement(sql);
psmt.setString(1,mail);
psmt.setString(2, empNum);
psmt.executeUpdate(); psmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
i++;
}
//关闭conn连接
try {
conn.commit();
//conn.close();
} catch (SQLException e) {
e.printStackTrace();
if(conn !=null) {
try { conn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
}
}finally{
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
updateLog="更新次数:"+i;