Ustaw automatyczne zatwierdzanie na fałsz.
Umieść swoje PreparedStatements w bloku try. Zatwierdź na końcu; wycofanie w bloku chwytnym.
Tak to się zwykle robi w JDBC z gołymi kośćmi.
http://docs.oracle.com/javase/tutorial/jdbc /basics/transactions.html
Jeśli korzystasz z EJB3 lub Spring, możesz dodać menedżera transakcji i określić go deklaratywnie. To jest bardziej wyrafinowane i elastyczne.