Ir al contenido principal

Transacciones En Java JDBC

Transacciones En Java JDBC


Una transacción es un conjunto de operaciones sobre una base de datos que se deben ejecutar como una unidad.


Hay ocasiones en las que es necesario que varias operaciones sobre la base de datos se realicen en bloque, es decir, que se ejecuten o todas o ninguna, pero no que se realicen unas sí y otras no.


Si se ejecutan parcialmente hasta que una da error, el estado de la base de datos puede quedar inconsistente. En este caso necesitaríamos un mecanismo para devolverla a su estado anterior, pudiendo deshacer todas las operaciones realizadas.


Ente ejemplo se suponiendo la cuenta bancaria de un banco en particular, se realizan la inserción de un nuevo cliente, por lo que se necesita insertar los datos del nuevo cliente el establecer un monto en la cuenta de ahorros y en la de crédito. Por lo que se necesita controlar que ambas operaciones se ejecuten correctamente, ya que no podemos tener un cliente sin una cuenta relacionada a él, y tampoco una cuenta que no esté relacionada a ningún cliente, de aquí es el uso de las transacciones, ya que nos ayudan con controlar cada operación que se ejecute en la base de datos.  


Conexion

Primero necesitamos establecer la conecion como setAutoCommit(false) este método setAutoCommit lo especifica el método setAutoCommit en la interfaz java.sql.Connection.



Transaccion


Funciones o métodos:

setAutoCommit(boolean value)

Este método setAutoCommit lo especifica el método setAutoCommit en la interfaz java.sql.Connection.
Si una conexión está en modo de confirmación automática, todas sus sentencias SQL se ejecutan y confirman como transacciones individuales. De lo contrario, sus sentencias SQL se agrupan en transacciones que finalizan mediante una llamada al método de confirmación o al método de reversión. De forma predeterminada, las nuevas conexiones están en modo de confirmación automática.
La confirmación se produce cuando se completa la declaración o se produce la siguiente ejecución, lo que ocurra primero. Cuando las declaraciones devuelven un objeto SQLServerResultSet, la declaración se completa cuando se recupera la última fila del conjunto de resultados o cuando se cierra el conjunto de resultados. En casos avanzados, una sola declaración puede devolver varios resultados además de los valores de los parámetros de salida. En estos casos, la confirmación se produce cuando se han recuperado todos los resultados y los valores de los parámetros de salida.
Puede activar o desactivar la confirmación automática mediante el método setAutoCommit() de la interfaz de conexión.
Este método acepta un valor booleano como parámetro. Si pasa verdadero a este método, activa la función de confirmación automática de la base de datos y, si pasa falso a este método, desactiva la función de confirmación automática de la base de datos.
Para realizar transacciones necesitamos lo contrario del setAutoCommit() falso ya que necesitamos controlar cada transacción.


commit ()

El método commit () de la interfaz Connection guarda todas las modificaciones realizadas desde la última confirmación.
Si ocurre algún problema después de la confirmación, puede revertir todos los cambios realizados hasta esta confirmación invocando el método rollback ().


rollBack ()

Una operación rollBack () deshace todos los cambios realizados por la transacción actual, es decir, si llama a un método rollBack () de la interfaz de conexión, todas las modificaciones se revierten hasta la última confirmación.
También puede revertir los cambios en la base de datos hasta un punto de guardado en particular pasando el objeto de punto de guardado requerido como parámetro a este método.


GitHub Repository:

Puede cambiar la conexión de la base de datos, los recursos:

Más

Plataforma Educativa Virtual

Plataforma Educativa Virtual Proyecto Universitario Ante a la situación de la pandemia de Covid 19, se ha dado la necesidad de impartir las clases de forma virtual. La plataforma educativa virtual del colegio tecnológico dominicano contiene toda la infraestructura necesaria para por impartir clases, consultar bibliotecas virtuales, y procesar pagos y cotejo de cuenta. Aula Virtual: es la parte de la plataforma educativa virtual que corresponde a impartir las clases virtuales, asignaciones videollamadas, y soporte en línea. Biblioteca Virtual: la biblioteca virtual básicamente funciona como un motor de búsqueda que escanea los recursos educativos de libros, revistas y todo tipo de documento que contenga información de sitios vinculados. Estado de Cuenta: en esta parte de la plataforma educativa virtual corresponde a los proceso y administración de cuenta del estudiante, cuenta con opciones de ver estado de cuenta, deudas pendientes, procesar pagos (con varias alternativas), histor...

Ruddy Services

Sistema de escritorio  Ruddy Services Sistema de información para el administración y gestión de clientes y procesamiento de pago de bienes y servicios. Sistema de información desarrollado para Ruddy Services una startup, el cual cuenta con todos los procesos necesarios para la gestión de cliente, gestión de pagos, procesamiento de pagos, historial de pagos, y todo lo necesario para la administración y gestión de clientes y procesamiento de pago de bienes y servicios de la empresa. Cliente                                                                              Año Ruddy Services                      ...

Formulario Java Swing

Formulario Java Swing Formulario de inicio de sección y registro. Es un formulario de inicio de sección y registro, compuesto por controles de java Swing, El cual es responsivo, es decir adaptable a la pantalla, ya que posee en su arquitecturas con los Layout necesarios y jScrollPane para el desplazamiento de los paneles.  Prototipo: GitHub Repository: https://github.com/BrunoBeltreGuzman/FormularioJavaSwing

Dashboard Java Swing

  Dashboard Java Swing ¡Lo que no se ve, no se analiza! Y, si no se analiza, ¡no se mejora! Dashboard con controles de Java Swing, con datos de base de datos. ¿ Cómo deben analizar las empresas? Porque son muchos los datos con los que éstas trabajan diariamente; son muchas las decisiones importantes que deben tomar y, de ellas dependerá que el negocio vaya encaminado al éxito o al fracaso. Sin embargo, la toma de decisiones suele realizarse en base a datos a posteriori: la cantidad de información de la que se dispone es demasiada, y los trabajadores tienen un límite de tiempo y de capacidad analítica. Es aquí cuando entran en juego los paneles de datos o Dashboards. Funciones o Métodos: Maximum(int maximum); Maximum: Para establecer el valor máximo de data. Mínimum(int minimum); Mínimum: Para establecer el valor mínimo de data. Value(int value); Value: Para establecer el valor del JBar. String(String data); String: para establecer y mostrar el valor que contiene el JBar GitHub Repo...

Tests Junit en Java

  Pruebas unitarias o en este caso Test Junit en Java su implementación y como funciona Las pruebas unitarias o en este caso test Junit son un conjunto de técnicas para comprobar que un fragmento de código funciona correctamente. Es un procedimiento más de los que se llevan a cabo dentro de una metodología ágil del desarrollo de software. Para implementar test JUnit en Java se basa en las siguientes anotaciones: Test:indica que el método que la contiene es un test: expected y timeout. Before(): ejecuta el método que la contiene justo antes de cada test. After(): ejecuta el método que la contiene justo después de cada test. BeforeClass():ejecuta el método (estático) que la contiene justo antes del primer test. AfterClass(): ejecuta el método (estático) que la contiene justo después del último test. Ignore(): evita la ejecución del tests. No es muy recomendable su uso porque puede ocultar test fallidos. Si dudamos si el test debe estar o no, quizás borrarlo es la mejor de las decisio...