Imposta il commit automatico su false.
Inserisci le tue PreparedStatements in un blocco try. Impegnarsi alla fine; rollback nel blocco catch.
Di solito è così che si fa in JDBC barebone.
http://docs.oracle.com/javase/tutorial/jdbc /basics/transazioni.html
Se usi EJB3 o Spring puoi aggiungere un gestore delle transazioni e specificarlo in modo dichiarativo. È più sofisticato e flessibile.