JDBC

JDBC es una tecnología de Java que nos permite comunicarnos con bases de datos mediante una API que ofrece recursos para hacer consultas, queries, extraer resultados y utilizar el lenguaje SQL.

4:20

1. Presentación de JDBC

JDBC es la API que proporciona Java para conectarnos a bases de datos e interactuar con ellas usando el lenguaje de consulta SQL. En este vídeo os expongo qué es y qué vamos a ver en estos vídeos.

7:24

2. Instalando MySQL

Como referencia, en esta serie usaré MySQL, así que no está de más recordar cómo instalarlo en Linux y MacOS. Podéis usar otras BD con drivers JDBC: PostgreSQL, Microsoft SQL Server, H2...

8:42

3. Creando tablas

Por medio de comandos SQL o de una herramienta gráfica como MySQL Workbench podéis crear las tablas SQL necesarias para poder seguir el resto de la serie desde Java usando la API JDBC. Script SQL usado: https://gist.github.com/danirod/482584904e41e1ec3422266776a9ea61

6:46

4. Agregando el driver JAR

Java ofrece una API en los paquetes java.sql y javax.sql para poder interactuar con SQL, pero Java no puede hablar con todas las bases de datos. Debemos proporcionarle un JAR con el Driver correspondiente con la base de datos que vayamos a usar.

7:53

5. Estableciendo la conexión

Con el Driver instalado, hoy veremos cómo establecer una conexión JDBC con nuestra base de datos usando DriverManager.getConnection. En mi caso usando MySQL. La sintaxis es igual si usáis otro DBMS salvo por la URL, probablemente.

9:11

6. Statement y ResultSet

JDBC nos permite ejecutar nuestras propias sentencias SQL, y en este episodio os enseño de qué forma podéis crear vuestras propias Statement y recorrer el cursor que os devuelve mediante el uso de un ResultSet.

7:35

7. Bobby Tables y PreparedStatement

En este episodio os explico por qué PreparedStatement es infinitamente mejor que Statement cuando tenemos consultas con parámetros que dependen del mundo exterior. ¿Cómo? ¿No conoces a Bobby Tables? \u003ca href='https://xkcd.com/327/' target='_blank'\u003eMira esto\u003c/a\u003e.

5:58

8. Transacciones y MySQL

Un inciso para recordar cómo funcionan las transacciones en un sistema de bases de datos, en qué casos nos importan y cómo MySQL implementa ACID y transacciones usando InnoDB.

6:32

9. Transacciones, commits y rollbacks (parte 1)

La API de JDBC nos aporta una serie de métodos para diseñar transacciones desde Java, mediante los métodos commit(), rollback() y el uso o no del auto-commit.

6:17

10. Transacciones, commits y rollbacks (parte 2)

Veamos ahora cómo se ejecuta una transacción en JDBC. Enseño qué ocurre cuando sale bien y también cómo afecta a las otras instrucciones que una de las sentencias salga mal.

8:49

11. Ejemplo: Crear modelos

En primer lugar creamos los modelos de datos que más adelante usaremos tanto en otras capas de la aplicación, como a la hora de interactuar con la propia base de datos.

10:15

12. Ejemplo: Crear los DAO (parte 1)

Los DAO son las clases que acceden a la base de datos para cargar y guardar los modelos de nuestra aplicación. En esta primera parte creo la estructura de los DAO y en el siguiente vídeo relleno el código.

11:59

13. Ejemplo: Crear los DAO (parte 2)

Hecha la estructura de clases de los DAO queda por crear el código propio que ejecuta las statements de MySQL a partir de los objetos propios. En este vídeo os enseño cómo hacer este mapeo.

13:00

14. Ejemplo: Crear los DAO (parte 3)

En la última parte dedicada a DAOs, muestro cómo crear los métodos que permiten obtener elementos de la base de datos convirtiendo un ResultSet en un objeto.

11:48

15. Ejemplo: DAO Manager

Última parte sobre DAOs en la que creo un manager para poder recuperar todos los DAO mediante el uso del patrón Singleton, de modo que no tengamos más de un DAO suelto por el sistema.

15:25

16. Ejemplo: CRUD Alumnos (parte 1)

Creando un JFrame con una JTable y un JTableModel que use el patrón Adapter para permitir representar los alumnos procedentes del DAO en forma de modelo que podamos incorporar a nuestra tabla.

14:19

17. Ejemplo: CRUD Alumnos (parte 2)

Comenzamos a diseñar un formulario para poder visualizar, modificar, eliminar e incorporar alumnos al sistema, agregando las operaciones CRUD básicas. Lo completaremos en el siguiente episodio.

13:11

18. Ejemplo: CRUD Alumnos (parte 3)

Terminamos de diseñar el formulario para gestionar los alumnos. Ahora se pide confirmar que queremos borrar alumnos, se guardan los datos en el sistema, y la barra de estado funciona correctamente.

25:21

19. Ejemplo: CRUD Profesores

Continuamos diseñando el formulario que se usa para introducir, visualizar, modificar y eliminar datos de los profesores que se hayan incorporado al sistema.

55:07

20. Ejemplo: CRUD Asignaturas

El episodio 20 se grabará en directo sólo por la comodidad de no tener que editarlo después. CRUD de Asignaturas.

17:17

21. Ejemplo: Login (final adelantado)

Hacer una pantalla de login y un panel principal. He decidido adelantar el final de esta serie porque este ejemplo es demasiado repetitivo y yo quiero hacer cosas nuevas y frescas de una vez.