5 - Iniciació a l'API JDBC
Ara veurem els elements bàsics de l’API JDBC que permeten a les aplicacions Java o Kotlin comunicar-se amb un SGBD fent servir el llenguatge SQL. Cal que disposeu del connector JDBC dels 3 SGDB que anem a utilitzar: PostgreSQL, MySQL i SQLite. Afegirem els 3 connectors a les biblioteques del projecte. També serà necessari connectar des de IntelliJ amb la utilitat que ens ofereix per a veure les Bases de Dades: View -> Tool Windows -> Database, si no disposeu del DBeaver (o clients espacífics de cada SGBD).
Els drivers JDBC per als distints SGBD són molt fàcils de trobar, fent una senzilla recerca de driver JDBC download i el SGBD que vulgueu. Per més comoditat us pose ací els enllaços:
- PostgreSQL: https://jdbc.postgresql.org/download/postgresql-42.2.24.jar
- MySQL: https://jar-download.com/artifacts/mysql/mysql-connector-java
- SQLite: https://jar-download.com/artifacts/org.xerial/sqlite-jdbc
També teniu, per més comoditat, una carpeta en el curs de Moodle amb tots els drivers que ens fan falta
Per tal de poder practicar la connexió i accedir a les dades, tenim una Bases de Dades de prova en cada SGBD:
- PosgreSQL: geo (contrasenya: geo)
- MySQL: factura (contrasenya: factura)
- SQLite: proveta.sqlite, però en realitat crearem les Bases de Dades que ens facen falta
Crearem un projecte nou anomenat AnnexBD, per exemple, i li afegirem els controladors JDBC de PostgesSQL, MySQL i SQLite com a biblioteca del projecte. Per a separar les proves dels exercicis, ens creem un paquet anomenat exemples.
En la següent imatge es veu com hem incorporat els drivers al projecte (es fa sobre el projecte F4 -> Modules -> Dependencies)

En els punts següents anem a comentar cada cosa per separat, pas a pas. De tota manera, posem la llista inicial de classes que utilitzarem per a poder connectar i accedir a la Base de Dades:
| Classe | Descripció |
| Driver | Permet connectar a una Base de Dades |
| DriverManager | Permet gestionar tots els drivers instal·lats al sistema |
| Connection | Representa una connexió amb una BD. En una aplicació pot haver més d'una connexió |
| Statement | Permet executar sentències SQL sense paràmetres |
| PreparedStatement | Permet executar sentències SQL amb paràmetres |
| ResultSet | Conté les files resultants d'executar una sentència SELECT |
| DatabaseMetadata | Proporciona informació d'una BD, com per exemple les taules que conté |
| ResultSetMetadata | Proporciona informació sobre un ResultSet: número de columnes, noms de les columnes, tipus, ... |
Llicenciat sota la Llicència Creative Commons Reconeixement CompartirIgual 2.5