Omet navegació

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:

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_ad (contrasenya: geo_ad)
  • MySQL: factura (contrasenya: factura)
  • SQLite: proveta.sqlite, però en realitat crearem les Bases de Dades que ens facen falta

Crearem un projecte nou anomenat Tema4, 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, ...