Establezca la confirmación automática en falso.
Coloque sus declaraciones preparadas en un bloque de prueba. Comprometerse al final; retroceder en el bloque catch.
Así es como generalmente se hace en JDBC básico.
http://docs.oracle.com/javase/tutorial/jdbc /basics/transacciones.html
Si usa EJB3 o Spring, puede agregar un administrador de transacciones y especificarlos de forma declarativa. Eso es más sofisticado y flexible.