Me parece que ya va bien
String user = "login";
String pass = "";
String url = "jdbc:mysql://ip:port/Bd_data";
try{
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url, user, pass);
conn.setAutoCommit(false);
try{
PreparedStatement pstm = conn.prepareStatement(Sentencia);
if(prepare!=null ){
for(int pre=1;pre<prepare.length;pre++){
pstm.setString(pre, prepare[pre]);
}
}
pstm.execute();
conn.commit();
pstm.close();
}catch (SQLException ex) {
conn.rollback();
System.out.println("ERROR en consulta SQL.");
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
} finally{
try{
conn.setAutoCommit(true);
conn.close();
} catch (SQLException y) { System.out.println("ERROR en consulta SQL.");
System.out.println("SQLException: " + y.getMessage());
System.out.println("SQLState: " + y.getSQLState());
System.out.println("VendorError: " + y.getErrorCode());
}
} //finally
}catch(SQLException u){
System.out.println("ERROR en consulta conexxion.");
System.out.println("SQLException: " + u.getMessage());
System.out.println("SQLState: " + u.getSQLState());
System.out.println("VendorError: " + u.getErrorCode());
}catch (ClassNotFoundException e){
//Mostra errors de creació del driver
System.out.println("No esta la clase :(");
}
Me parece que así funciona

He multianidado los try
Muchas gracias!!!