在java代碼中使用Oracle數據庫的事務處理機制
//使用java代碼操作oracle數據庫的代碼如下:
package Transaction;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class demon_1 {
public static void main(String[] args) throws SQLException {
//2:連接數據庫
Connection ct=null;
//加載數據庫驅動
try {
//1:加載數據庫驅動
Class.forName("oracle.jdbc.driver.OracleDriver");
ct=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:ORCL","SCOTT","toor");
//3:預編譯sql語句
// PreparedStatement ps=ct.prepareStatement();
//兩種預編譯都可以
Statement ps=ct.createStatement();
//4: 執行sql語句,執行結果集
ResultSet res=ps.executeQuery("select * from emp_1");
while(res.next()){
System.out.println("員工名字是:"+res.getString("ename"));
}
//執行事務
ct.setAutoCommit(false);
ps.executeUpdate("update emp_1 set ename='ccc' where empno=4");
ps.executeUpdate("update emp_1 set ename='bbb' where emno=2");
//提交事務
ct.commit();
ct.close();
} catch (Exception e) {
//取消事務
ct.rollback();
System.out.println("SQL語句執行錯誤。執行了事務回滾");
}
}
}