Computer >> Máy Tính >  >> Lập trình >> MySQL

Lưu điểm trong JDBC là gì? Giải thích?

Giao diện Savepoint cung cấp cho bạn khả năng kiểm soát giao dịch bổ sung. Hầu hết các DBMS hiện đại, hỗ trợ các điểm lưu trong môi trường của chúng, chẳng hạn như PL / SQL của Oracle.

Khi bạn đặt điểm lưu, bạn xác định điểm khôi phục hợp lý trong một giao dịch. Nếu lỗi xảy ra sau điểm lưu, bạn có thể sử dụng phương pháp khôi phục để hoàn tác tất cả các thay đổi hoặc chỉ những thay đổi được thực hiện sau điểm lưu.

Đối tượng Kết nối có hai phương pháp mới giúp bạn quản lý các điểm lưu -

  • setSavepoint (String savepointName): Xác định một điểm lưu mới. Nó cũng trả về một đối tượng Savepoint.

  • releaseSavepoint (Savepoint savepointName): Xóa một điểm lưu. Lưu ý rằng nó yêu cầu một đối tượng Savepoint làm tham số. Đối tượng này thường là một điểm lưu được tạo bởi phương thức setSavepoint ().

Có một khôi phục (String savepointName) phương thức này sẽ quay trở lại công việc về điểm lưu đã chỉ định.

Ví dụ

try {
   //Assume a valid connection object conn
   conn.setAutoCommit(false);
   Statement stmt = conn.createStatement();
   //set a Savepoint
   Savepoint savepoint1 = conn.setSavepoint("Savepoint1");
   String SQL = "INSERT INTO Employees " + "VALUES (106, 20, 'Rita', 'Tez')";
   stmt.executeUpdate(SQL);
   //Submit a malformed SQL statement that breaks
   String SQL = "INSERTED IN Employees " + "VALUES (107, 22, 'Sita', 'Tez')";
   stmt.executeUpdate(SQL);
   // If there is no error, commit the changes.
   conn.commit();
} catch(SQLException se){
   // If there is any error.
   conn.rollback(savepoint1);
}