java jdbc tutorial what is jdbc
A partir dels conceptes bàsics, aquest tutorial de JDBC explica components, arquitectura i tipus de controladors a Java Database Connectivity (JDBC):
Aquest tutorial explica què és JDBC, les seves versions publicades fins ara, quins són els requisits previs necessaris abans de continuar amb JDBC, tipus de controladors, etc. Al final d'aquest tutorial, coneixereu els conceptes bàsics de Java Database Connectivity o JDBC i on el podem utilitzar.
Comencem aquest tutorial amb els conceptes bàsics de JDBC.
Què aprendreu:
Llista de tutorials JDBC de Java
Tutorial # 1: Què és JDBC (connectivitat de bases de dades Java) (Aquest tutorial)
Tutorial # 2: Tutorial de connexió Java JDBC amb exemple de programació
Tutorial # 3: JDBC DriverManager, JDBC PreparedStatement i declaració
Tutorial # 4: JDBC ResultSet: Com utilitzar Java ResultSet per recuperar dades
Tutorial # 5: Gestió de transaccions Java JDBC amb exemple
Tutorial # 6: Gestió d'excepcions JDBC: com es poden gestionar excepcions SQL
Tutorial # 7: Tutorial de processament per lots i processos emmagatzemats de JDBC
Tutorial # 8: Top 25+ preguntes i respostes de l'entrevista JDBC
Què és JDBC
A la majoria de les aplicacions Java, sempre cal interactuar amb les bases de dades per recuperar, manipular i processar les dades. Amb aquest propòsit, s'ha introduït Java JDBC.
JDBC és la forma curta més utilitzada per a la connectivitat de bases de dades Java. Mitjançant l’ús de JDBC, podem interactuar amb diferents tipus de bases de dades relacionals com Oracle, MySQL, MS Access, etc.
Abans de JDBC, es va introduir l'API ODBC per connectar-se i realitzar operacions amb la base de dades. ODBC utilitza un controlador ODBC que depèn de la plataforma perquè estava escrit en llenguatge de programació C. L'API JDBC està escrita en llenguatge Java, és independent de la plataforma i fa que la plataforma sigui independent de Java.
El diagrama següent mostra el flux bàsic de JDBC:
Versions de JDBC
Inicialment, Sun Microsystems havia llançat JDBC a JDK 1.1 el 19 de febrer de 1997. Després d'això, ha format part de la plataforma Java.
La taula següent conté versions i implementacions de JDBC:
Versió JDBC | Implementació de JDK | Curs |
---|---|---|
JDBC 4.3 | Java SE 9 | 2017 |
JDBC 1.2 | JDK 1.1 | 1997 |
JDBC 2.1 | JDK 1.2 | 1999 |
JDBC 3.0 | JDK 1.4 | 2001 |
JDBC 4.0 | Java SE 6 | 2006 |
JDBC 4.1 | Java SE 7 | 2011 |
JDBC 4.2 | Java SE 8 | 2014 |
Requisit previ
Abans de continuar amb el tutorial JDBC, heu de tenir un bon coneixement sobre Java per poder utilitzar JDBC als programes Java.
=> Lectura recomanada: Tutorials de Java
Els requisits previs per implementar JDBC a les aplicacions Java són els següents:
1. Java s'hauria d'instal·lar al sistema on vulgueu crear una aplicació Java i utilitzar JDBC.
Consulteu-ho enllaç per a la instal·lació de Java.
2. Haureu de tenir fitxers jar del controlador JDBC adequats per connectar-vos amb el SGBD. Cada base de dades té fitxers jar del controlador JDBC diferents.
Podeu descarregar aquests fitxers per a la base de dades específica mitjançant els enllaços de la taula següent:
Base de dades amb enllaç de descàrrega | Nom del proveïdor del controlador JDBC | Nom del fitxer JAR |
---|---|---|
MySQL | Oracle Corporation | MySQLmysql-connector-java-VERSION.jar |
Oracle | Oracle Corporation | Oracleojdbc8.jar |
SQL Server | Microsoft Corporation | SQL Serversqljdbc41.jar, sqljdbc42.jar |
Postgre SQL | Grup de desenvolupament global PostgreSQL | Postgre SQLpostgresql-VERSION.jar |
SQLite | Xerial.org | sqlite-jdbc-VERSION.jar |
MS Access | UCanAccess.com | MS Accessucanaccess-VERSION.jar |
Tipus de controladors a JDBC
Ara, analitzem els tipus de controladors de JDBC per ajudar-vos a triar el més adequat per al vostre programa.
Tots els RDMS (Relational Database Management System) necessiten un controlador per accedir-hi des de fora del seu sistema. Per tant, el controlador JDBC és necessari per executar consultes SQL i obtenir el resultat de la base de dades.
Hi ha quatre tipus diferents de controladors disponibles a JDBC. Es classifiquen en funció de la tècnica que s’utilitza per accedir a una base de dades.
Són els següents:
- Tipus I: pont JDBC- ODBC
- Tipus II: APT natiu- Controlador parcialment Java
- Tipus III: protocol de xarxa: controlador completament Java
- Tipus IV: controlador prim: controlador completament Java
Tipus I: pont JDBC- ODBC
En aquest tipus de controladors, JDBC - ODBC Bridge actua com una interfície entre el client i el servidor de base de dades. Quan un usuari utilitza l'aplicació Java per enviar sol·licituds a la base de dades mitjançant JDBC - ODBC Bridge, primer converteix l'API JDBC en API ODBC i després l'envia a la base de dades. Quan el resultat es rep de la base de dades, s'envia a l'API ODBC i després a l'API JDBC.
Aquest controlador depèn de la plataforma perquè utilitza ODBC, que depèn de la biblioteca nativa del sistema operatiu. En aquest tipus, el controlador JDBC - ODBC s'hauria d'instal·lar a cada sistema client i la base de dades ha de ser compatible amb el controlador ODBC.
Quan no importa la instal·lació a la màquina client, podem utilitzar aquest controlador. És fàcil d'utilitzar, però proporciona un rendiment baix a causa de la conversió de les trucades del mètode JDBC a les trucades del mètode ODBC.
Nota: està disponible a JDK 1.2
Java 8 no admet aquest tipus de controladors. Oracle recomana que l'usuari faci ús dels controladors JDBC proporcionats pels seus proveïdors de bases de dades.
Figura: Tipus I: JDBC - Controlador de pont ODBC
Tipus II: API nativa: parcialment controlador Java
És similar al controlador de tipus I. Aquí, la part ODBC se substitueix per codi natiu al controlador de tipus II. Aquesta part de codi nativa està dirigida a un producte de base de dades específic. Utilitza les biblioteques del client de la base de dades. Aquest controlador converteix les trucades del mètode JDBC en trucades natives de l'API nativa de la base de dades.
Quan la base de dades rep les sol·licituds de l'usuari, les sol·licituds es processen i s'envien amb els resultats en format natiu que s'han de convertir al format JDBC i donar-los a l'aplicació Java.
Va ser adoptat immediatament pels proveïdors de bases de dades perquè era ràpid i econòmic d'implementar. També es troba en el format natiu de la base de dades.
Aquest tipus de controlador proporciona una resposta i un rendiment més ràpids que el controlador de tipus I.
Figura: Tipus II: APT natiu: parcialment controlador Java
Tipus III: protocol de xarxa
El controlador de tipus III està completament escrit en Java. És com un enfocament de tres nivells per accedir a la base de dades. Envia les trucades del mètode JDBC a un servidor intermedi. En nom de JDBC, el servidor intermedi es comunica amb la base de dades. El servidor d'aplicacions (intermedi o mitjà) converteix les trucades JDBC directament o indirectament al protocol de base de dades específic del proveïdor.
Aquest enfocament no augmenta l’eficiència de l’arquitectura i també és costós, a causa d’això la majoria dels proveïdors de bases de dades no prefereixen aquest controlador. Com que s’utilitza el servidor d’aplicacions, cal tenir un bon coneixement del servidor d’aplicacions per utilitzar aquest enfocament de manera eficient.
Figura: Tipus III: Protocol de xarxa: controlador completament Java
Tipus IV: controlador prim
El controlador de tipus IV s’implementa directament i converteix les trucades JDBC directament en protocol de base de dades específic del proveïdor. Avui en dia, la majoria dels controladors JDBC són controladors de tipus IV. Està escrit completament en Java i, per tant, és independent de la plataforma. S'instal·la a la JVM (màquina virtual de Java) del client, de manera que no cal que instal·leu cap programari al client ni al servidor. Aquesta arquitectura de controladors té tota la lògica per comunicar-se directament amb la base de dades en un sol controlador.
Proporciona un millor rendiment que l’altre tipus de controladors. Permet un fàcil desplegament. Avui en dia, aquest tipus de controladors el desenvolupa el mateix proveïdor de bases de dades perquè els programadors puguin utilitzar-lo directament sense dependre d'altres fonts.
Figura: Tipus IV: controlador prim: controlador completament Java
Aplicacions de JDBC
JDBC es pot utilitzar en aplicacions Java, miniaplicacions, servlets o qualsevol altre programa Java on vulgueu connectar-vos amb la base de dades.
Per exemple, Aplicacions autònomes, llocs web, aplicacions bancàries, etc.,
Arquitectura i components de JDBC
Arquitectura JDBC: Admet dos tipus de models de processament per accedir a la base de dades.
Aquests són:
- Arquitectura de dos nivells
- Arquitectura de tres nivells
# 1) Arquitectura de dos nivells:
Ajuda l’aplicació Java a connectar-se directament amb la base de dades. Necessita un controlador JDBC per a la comunicació amb un DB concret. L'usuari envia les sol·licituds a DB i rep la resposta directament sense cap mediador excepte el controlador JDBC. La base de dades, ja sigui a la mateixa màquina o en una màquina remota, es connecta a través d’una xarxa. Es pot anomenar com a arquitectura client-servidor.
# 2) Arquitectura de tres nivells:
És el contrari de l'arquitectura de dos nivells. No hi ha cap comunicació directa entre l'usuari i la base de dades. L'usuari envia la sol·licitud al nivell mitjà (servidor d'aplicacions) des del qual la sol·licitud s'envia de nou a la base de dades. A continuació, la base de dades processa la sol·licitud i envia el resultat al nivell mitjà des del qual l'usuari rep el resultat / resposta.
Simplifica el desplegament i la gestió. Els directors del Sistema d’Informació de Gestió (MIS) utilitzen aquesta arquitectura ja que facilita el manteniment del control d’accés i les actualitzacions de les dades corporatives.
Arquitectura de tres nivells
Components de JDBC
Hi ha 4 components principals disponibles a JDBC. Ells són:
- API JDBC
- Gestor de controladors JDBC
- Suite de proves JDBC
- JDBC - Pont ODBC
# 1) API JDBC: Proporciona accés a bases de dades relacionals des de qualsevol programa Java. L'API JDBC té un conjunt de classes i interfícies que s'escriuen en Java que proporciona una eina / API estàndard per a desenvolupadors. Mitjançant l'API JDBC, podeu crear i executar consultes SQL, rebre el resultat i realitzar canvis a les dades i desar els resultats a la base de dades.
Pot interactuar amb diverses bases de dades com Oracle, MySQL, MS Access des d’un sol programa Java. Amb l'API JDBC, no cal escriure un programa per accedir a Oracle DB, un altre programa per accedir a MySQL, un altre programa per accedir a MS Access, etc.
L'API JDBC és una part de Java Platform que té tant Java Standard Edition (Java SE) com Java Enterprise Edition (Java EE).
L'API JDBC 4.0 té 2 paquets.
- Java.sql
- Javax.sql
Tots dos paquets estan disponibles en Java SE i Java EE.
# 2) Gestor de controladors JDBC: La capa de gestió tradicional de JDBC és Driver Manager i actua com una interfície entre l'usuari i els controladors. Conserva els detalls de seguiment dels controladors disponibles i estableix una connexió entre la base de dades i el controlador adequat. Defineix els objectes que poden connectar l’aplicació Java al controlador JDBC. Per tant, és l’eix vertebrador de l’API JDBC.
Parlarem del Gestor de controladors al proper tutorial.
# 3) JDBC Test Suite: Ajuda a trobar si els controladors JDBC executaran el programa o no. Proporciona la confiança i conformitat que el programa executarà JDBC Drivers.
# 4) Pont JDBC- ODBC: Això fa ús de controladors ODBC com a controladors JDBC. És similar al controlador de TIPUS I que ja es troba a la secció de tipus de controladors d’aquest tutorial.
Punts clau que cal tenir en compte:
- JDBC s'utilitza per interactuar amb la base de dades des de qualsevol programa Java, com ara aplicacions Java, Applets, Servlets.
- L'última versió de JDBC és JDBC 4.3. És estable des del 21cSetembre de 2017.
- Controlador tipus I: JDBC ODBC Bridge: fàcil d'utilitzar, però ODBC depèn de la plataforma. També és un controlador de baix rendiment.
- Controlador tipus II: API nativa: la part de codi natiu va substituir la part ODBC del controlador de tipus I i es va orientar cap a un producte de base de dades específic. És més ràpid que el controlador de tipus I.
- Controlador tipus III: Middle Tier o Application Server s'utilitza com a interfície entre el controlador JDBC i la base de dades. Es necessita coneixement del servidor d'aplicacions per utilitzar-lo eficaçment.
- Controlador tipus IV: El controlador JDBC es comunica immediatament amb la base de dades. Els proveïdors de bases de dades utilitzen aquest tipus de controladors i el proporcionen a clients o desenvolupadors.
- JDBC es pot utilitzar en qualsevol programa que estigui escrit en llenguatge Java.
Conclusió
En aquest tutorial de JDBC, hem après sobre els conceptes bàsics de JDBC i els requisits previs necessaris abans de continuar amb JDBC. Hem vist les seves versions i 4 tipus de controladors que ajuden els desenvolupadors a decidir el tipus de controlador que s’utilitzarà als programes.
També hem debatut sobre l'arquitectura de JDBC i els seus 4 components bàsics.
Lectura recomanada
- JDBC DriverManager, JDBC PreparedStatement i declaració
- Tutorial de ChromeDriver Selenium: proves de Selenium Webdriver a Chrome
- Tutorial Java SWING: Gestió de contenidors, components i esdeveniments
- Tutorial JAVA per a principiants: més de 100 tutorials pràctics de vídeo Java
- Marc basat en dades a Selenium WebDriver mitjançant el PDI Apache
- Maneig d'iFrames mitjançant el mètode Selenium WebDriver switchTo ()
- Proves d’accessibilitat amb Selenium Webdriver amb exemple de codi
- Com executar Selenium WebDriver en diferents navegadors populars