packagecom.sheng.database.finalassignment;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.SQLException;public classCurriculumTransactionQ4 {static final String DRIVER_NAME = "com.mysql.jdbc.Driver";static final String URL = "jdbc:mysql://localhost/final_assignment";static final String USER_NAME = "matt";static final String PASSWORD = "matt";public static void updateDataInfoByTransaction () throwsClassNotFoundException {
Connection conn= null;
PreparedStatement ptmt1= null;
PreparedStatement ptmt2= null;
String sql1= "DELETE FROM Enrollment WHERE userName=? AND courseName=?";
String sql2= "INSERT INTO Enrollment VALUES (null, ?, ?)";
String userName1= "ZhangSan";
String userName2= "ZhangSan";
String courseName= "Math";
Class.forName(DRIVER_NAME);try{
conn=DriverManager.getConnection(URL, USER_NAME, PASSWORD);
conn.setAutoCommit(false);
ptmt1=conn.prepareStatement(sql1);
ptmt1.setString(1, userName1);
ptmt1.setString(2, courseName);
ptmt1.execute();
ptmt2=conn.prepareStatement(sql2);
ptmt2.setString(1, userName2);
ptmt2.setString(2, courseName);
ptmt2.execute();
conn.commit();
}catch(SQLException e) {if(conn!=null) {try{
conn.rollback();
}catch(SQLException e1) {
e1.printStackTrace();
}
}
e.printStackTrace();
}finally{try{if (conn != null) conn.close();if (ptmt1 != null) ptmt1.close();if (ptmt2 != null) ptmt2.close();
}catch(SQLException e) {
e.printStackTrace();
}
}
}public static void main(String[] args) throwsClassNotFoundException {
updateDataInfoByTransaction();
}
}