这几天好多地方都看到作为程序员写博客的重要性,所以让我也投身到革命浪潮中吧
问题
>今天弄javaweb后台时,遇到需要同时insert多个表的需求,
因为有多条插入语句,第一个插入成功,第二个插入失败,第二条后的数据没有插入成功,第一条数据就会变成脏数据,因此要回滚
解决办法
用的com.mysql.jdbc.Driver
//连接数据库,conn是我在连接数据库类中留的getConn方法=,=嘿嘿,怕忘留个记号
Connection conn = DriverManager.getConnection(url,username,password);
conn.setAutoCommit(false);//false为sql操作手动提交,true为每次对数据库操作时自动提交
try{
String sql1 = “表1插入数据...”;
String sql2 = “表2插入数据...”;
stmt.addBatch(sql1);
stmt.addBatch(sql2);
stmt.executeBatch();
conn.commit();//因为AutoCommit设置为false所以要手动提交
//AutoCommit是tru