try {
conn.setAutoCommit(false);
//开始对数据库操作之类的
//包括,创建删除等等操作
conn.commit();
conn.setAutoCommit(true);
} catch(SQLException sqle) {
try{conn.rollback();}catch(SQLException sqle2) {
System.err.println("Error In Rollback");
sqle2.printStackTrace();
}
try{conn.setAutoCommit(true);}catch(SQLException sqle2) {
System.err.println("Error In SetAutoCommit");
sqle2.printStackTrace();
}
throw new YourException(sqle.getMessage());
}
conn.setAutoCommit(false);
//开始对数据库操作之类的
//包括,创建删除等等操作
conn.commit();
conn.setAutoCommit(true);
} catch(SQLException sqle) {
try{conn.rollback();}catch(SQLException sqle2) {
System.err.println("Error In Rollback");
sqle2.printStackTrace();
}
try{conn.setAutoCommit(true);}catch(SQLException sqle2) {
System.err.println("Error In SetAutoCommit");
sqle2.printStackTrace();
}
throw new YourException(sqle.getMessage());
}
再有一个问题是,我们的数据库操作都给封装到另外的一个类里面了,而我只是调用里面的方法来操作数据库的,请问我该怎样才可以使用事务呢?
conn.setAutoCommit(true)允许自动提交,对数据库的操作会直接提交到数据库,事务不能
自己控制,用false则相反;
2、将数据库的操作放在conn.setAutoCommit(false) 和 conn.commit()之间就可以了,
上面那个帖子写的比较清楚。
设成false,就可以自己手动管理事务了..事务处理是connection的事.
你操作数据库,总得要先得到联结...代码上面给了,具体怎么实现那只能结合你自己的代码了.别人帮不了你.
[email protected]