logo

Introduksjon til JDBC (Java Database Connectivity)

JDBC står for Java-databasetilkobling. JDBC er en Java API for å koble til og utføre spørringen med databasen. Det er en spesifikasjon fra Sun Microsystems som gir en standard abstraksjon (API eller Protocol) for Java-applikasjoner for å kommunisere med ulike databaser. Det gir språket standarder for Java-databasetilkobling. Den brukes til å skrive programmer som kreves for å få tilgang til databaser. JDBC, sammen med databasedriveren, kan få tilgang til databaser og regneark. Bedriftsdataene som er lagret i en relasjonsdatabase (RDB) kan nås ved hjelp av JDBC APIer.

Definisjon av JDBC (Java Database Connectivity)

JDBC er et API (Application Programming Interface) som brukes i Java-programmering for å samhandle med databaser. De klasser og grensesnitt av JDBC tillate søknaden til sende forespørsler laget av brukere til den angitte databasen. Den nåværende versjonen av JDBC er JDBC 4.3, utgitt 21. september 2017.

Formålet med JDBC

Enterprise-applikasjoner opprettet ved hjelp av JAVA EE-teknologien må samhandle med databaser for å lagre applikasjonsspesifikk informasjon. Så, samhandling med en database krever effektiv databasetilkobling, som kan oppnås ved å bruke ODBC (Åpen database-tilkobling) driver. Denne driveren brukes med JDBC for å samhandle eller kommunisere med ulike typer databaser som Oracle, MS Access, Mysql og SQL serverdatabase.



Komponenter av JDBC

Det er generelt fire hovedkomponenter av JDBC som den kan samhandle med en database gjennom. De er som nevnt nedenfor:

reactjs kart

1. JDBC API: Det gir ulike metoder og grensesnitt for enkel kommunikasjon med databasen. Den gir to pakker som følger, som inneholder java SE- og Java EE-plattformene for å vise WORA-funksjoner (skrive en gang kjørt hvor som helst). De java.sql pakken inneholder grensesnitt og klasser av JDBC API.

java.sql: This package provides APIs for data access and data process in a relational database, included in   Java Standard Edition (java SE) javax.sql: This package extends the functionality of java package by providing datasource interface for   establishing connection pooling, statement pooling with a data source, included in   Java Enterprise Edition (java EE)>

Det gir også en standard for å koble en database til en klientapplikasjon.

2. JDBC Driver manager : Den laster en databasespesifikk driver i et program for å etablere en forbindelse med en database. Den brukes til å foreta et databasespesifikt kall til databasen for å behandle brukerforespørselen.

bfs vs dfs

3. JDBC-testpakke: Den brukes til å teste operasjonen (som innsetting, sletting, oppdatering) som utføres av JDBC-drivere.

4. JDBC-ODBC Bridge-drivere : Den kobler databasedrivere til databasen. Denne broen oversetter JDBC-metodekallet til ODBC-funksjonskallet. Den benytter seg av sun.jdbc.odbc pakke som inkluderer et innebygd bibliotek for å få tilgang til ODBC-egenskaper.

Arkitektur til JDBC

Arkitektur til JDBC

Beskrivelse:

  1. Applikasjon: Det er en java-applet eller en servlet som kommuniserer med en datakilde.
  2. JDBC API: JDBC API lar Java-programmer kjøre SQL-setninger og hente resultater. Noen av de viktige grensesnittene som er definert i JDBC API er som følger: Drivergrensesnitt , ResultSet Interface , RowSet Interface , PreparedStatement interface, Connection interface og cClasses definert i JDBC API er som følger: DriverManager klasse, Types class, Blob class, clob class.
  3. DriverManager: Det spiller en viktig rolle i JDBC-arkitekturen. Den bruker noen databasespesifikke drivere for å effektivt koble bedriftsapplikasjoner til databaser.
  4. JDBC-drivere: For å kommunisere med en datakilde gjennom JDBC, trenger du en JDBC-driver som intelligent kommuniserer med den respektive datakilden.

Typer JDBC-arkitektur (2-lags og 3-lags)

JDBC-arkitekturen består av to-lags og tre-lags prosesseringsmodeller for å få tilgang til en database. De er som beskrevet nedenfor:

  1. To-lags modell: En java-applikasjon kommuniserer direkte til datakilden. JDBC-driveren muliggjør kommunikasjon mellom applikasjonen og datakilden. Når en bruker sender en spørring til datakilden, sendes svarene for disse spørringene tilbake til brukeren i form av resultater.
    Datakilden kan være plassert på en annen maskin på et nettverk som en bruker er koblet til. Dette er kjent som en klient/server konfigurasjon , der brukerens maskin fungerer som en klient, og maskinen har datakilden som kjører fungerer som server.
  2. Tre-lags modell: I dette sendes brukerens forespørsler til mellomnivåtjenester, hvorfra kommandoene igjen sendes til datakilden. Resultatene sendes tilbake til mellomlaget, og derfra til brukeren.
    Denne typen modell er funnet svært nyttig av direktører for ledelsesinformasjonssystem.

Hva er API?

Før du hopper inn i JDBC-drivere, la oss få vite mer om API.

er tom java

API står for Applikasjonsprogrammeringsgrensesnitt . Det er i hovedsak et sett med regler og protokoller som overfører data mellom forskjellige programvareapplikasjoner og lar forskjellige programvareapplikasjoner kommunisere med hverandre. Gjennom en API kan en applikasjon be om informasjon eller utføre en funksjon fra en annen applikasjon uten å ha direkte tilgang til den underliggende koden eller applikasjonsdataene.

JDBC API bruker JDBC-drivere for å koble til databasen.

JDBC-drivere

JDBC-drivere er adaptere på klientsiden (installert på klientmaskinen, ikke på serveren) som konverterer forespørsler fra Java-programmer til en protokoll som DBMS kan forstå. Det er 4 typer JDBC-drivere:

  1. Type-1-driver eller JDBC-ODBC-brodriver
  2. Type-2-driver eller Native-API-driver (delvis java-driver)
  3. Type-3 driver eller Network Protocol driver (fullstendig java driver)
  4. Type-4-driver eller tynn driver (fullstendig java-driver)

Grensesnitt til JDBC API

En liste over populære grensesnitt av JDBC API er gitt nedenfor:

  • Drivergrensesnitt
  • Tilkoblingsgrensesnitt
  • Statement-grensesnitt
  • PreparedStatement-grensesnitt
  • CallableStatement-grensesnitt
  • ResultSet-grensesnitt
  • ResultSetMetaData-grensesnitt
  • DatabaseMetaData-grensesnitt
  • RowSet-grensesnitt

Klasser av JDBC API

En liste over populære klasser av JDBC API er gitt nedenfor:

  • DriverManager-klassen
  • Blob klasse
  • Kløte klasse
  • Typer klasse

Arbeider med JDBC

Java-applikasjon som må kommunisere med databasen må programmeres med JDBC API. JDBC-driver som støtter datakilder som Oracle og SQL-server må legges til i java-applikasjonen for JDBC-støtte som kan gjøres dynamisk under kjøring. Denne JDBC-driveren kommuniserer intelligent den respektive datakilden.

Opprette en enkel JDBC-applikasjon:

Oppgavebehandling linux
Java
//Java program to implement a simple JDBC application package com.vinayak.jdbc; import java.sql.*; public class JDBCDemo {    public static void main(String args[])  throws SQLException, ClassNotFoundException  {  String driverClassName  = 'sun.jdbc.odbc.JdbcOdbcDriver';  String url = 'jdbc:odbc:XE';  String username = 'scott';  String password = 'tiger';  String query  = 'insert into students values(109, 'bhatt')';  // Load driver class  Class.forName(driverClassName);  // Obtain a connection  Connection con = DriverManager.getConnection(  url, username, password);  // Obtain a statement  Statement st = con.createStatement();  // Execute the query  int count = st.executeUpdate(query);  System.out.println(  'number of rows affected by this query= '  + count);  // Closing the connection as per the  // requirement with connection is completed  con.close();  } } // class>

Eksemplet ovenfor viser de grunnleggende trinnene for å få tilgang til en database ved hjelp av JDBC. Applikasjonen bruker JDBC-ODBC-brodriveren for å koble til databasen. Du må importere java.sql pakke for å gi grunnleggende SQL-funksjonalitet og bruke klassene til pakken.

Hva er behovet for JDBC?

JDBC er et Java-database-API som brukes for å lage forbindelse mellom java-applikasjoner med forskjellige databaser. I utgangspunktet brukes JDBC for å etablere stabil databaseforbindelse med applikasjons-API. For å utføre og behandle relasjonsdatabasespørringer (SQL- eller Oracle-spørringer), kan flere applikasjoner koble til forskjellige typer databaser som støtter både standard (SE) og enterprise (EE) utgave av java.