关于回滚
我这里把回滚的操作注释掉了,正常的情况1000条数据照常写入;异常的情况,一条也写不进,而且同样会报错。所以想问一下,这里的回滚的目的是什么,没有回滚的话会照成什么样的后果
package com.imooc.jdbc.sample;
import com.imooc.jdbc.common.DbUtils;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
/**
* JDBC的事务控制
*/
public class TransactionSample {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = DbUtils.getConnection();
//JDBC默认使用自动提交模式
conn.setAutoCommit(false);//关闭自动提交
String sql = "insert into employee(eno,ename,salary,dname) values(?,?,?,?)";
pstmt = conn.prepareStatement(sql);
for (int i = 1000; i <2000 ; i++) {
if (i==1005){
// throw new RuntimeException("插入失败");
}
pstmt.setInt(1,i);
pstmt.setString(2,"员工"+i);
pstmt.setFloat(3,4000f);
pstmt.setString(4,"市场部");
pstmt.executeUpdate();
}
conn.commit();//提交数据
} catch (Exception e) {
e.printStackTrace();
/*try {
if (conn!=null & !conn.isClosed()){
conn.rollback();
}
} catch (SQLException throwables) {
throwables.printStackTrace();
}*/
} finally {
DbUtils.closeConnection(null,pstmt,conn);
}
}
}
11
收起
正在回答 回答被采纳积分+1
1回答
java工程师2020版
- 参与学习 人
- 提交作业 9393 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星