Use JDBC to implement transaction rollback (only the code, still need to supplement)

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class DCL {
	public static void main(String[] args) {
		Connection con=null;
		Statement sta=null;
		String sql="";
		try {
			Class.forName("com.mysql.jdbc.Driver");
			con=DriverManager.getConnection("jdbc:mysql://126.0.0.1:3306/test,root,root");
			con.setAutoCommit(false);
			sta=con.createStatement();
			sta.addBatch("update account set money=money-100 where card_id= '1234567890'");
			sta.addBatch("update account set money=money+100 where card_id= '0987654321'");
			sta.executeBatch();
			con.commit();
		} catch (Exception e) {
			try {
				con.rollback();
			} catch (Exception e2) {
				e2.printStackTrace();
			}
			e.printStackTrace();
		}finally {
			if(sta!=null) {
				try {
					sta.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
			if(con!=null) {
				try {
					con.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}	
		}	
	}
}

Guess you like

Origin blog.csdn.net/qq_44724446/article/details/90176791