Sử dụng savepoint & rollback trong Java
Miêu tả vấn đề
Cách sử dụng Savepoint và Rollback trong Java?
Giải pháp
Ví dụ sau sử dụng phương thức Rollback của kết nối Rollback tới Savepoint được lưu giữ trước đó.
import java.sql.*;
public class jdbcConn {
public static void main(String[] args) throws Exception{
Class.forName("org.apache.derby.jdbc.ClientDriver");
Connection con = DriverManager.getConnection
("jdbc:derby://localhost:1527/testDb","name","pass");
Statement stmt = con.createStatement();
String query1 = "insert into emp values(5,'name','job')";
String query2 = "select * from emp";
con.setAutoCommit(false);
Savepoint spt1 = con.setSavepoint("svpt1");
stmt.execute(query1);
ResultSet rs = stmt.executeQuery(query2);
int no_of_rows = 0;
while (rs.next()) {
no_of_rows++;
}
System.out.println("rows before rollback statement = "
+ no_of_rows);
con.rollback(spt1);
con.commit();
no_of_rows = 0;
rs = stmt.executeQuery(query2);
while (rs.next()) {
no_of_rows++;
}
System.out.println("rows after rollback statement = "
+ no_of_rows);
}
}
Kết quả
Code trên sẽ cho kết quả sau. Kết quả có thể rất đa dạng.
rows before rollback statement = 4 rows after rollback statement = 3
Công cụ giáo viên (2048.VN)
Tạo- trộn đề thi miễn phí từ file PDF, Word, Giao bài nhanh chóng, Hoàn toàn Free
Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.
Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: https://www.facebook.com/tuyen.vietjack
Follow facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.
Bài học Bài tập Java phổ biến tại vietjack.com:

