JDBC står för Java-databasanslutning. JDBC är en Java API för att ansluta och köra frågan med databasen. Det är en specifikation från Sun Microsystems som tillhandahåller en standardabstraktion (API eller Protocol) för Java-applikationer för att kommunicera med olika databaser. Det förser språket med standarder för Java-databasanslutning. Den används för att skriva program som krävs för att komma åt databaser. JDBC, tillsammans med databasdrivrutinen, kan komma åt databaser och kalkylblad. Företagsdata som lagras i en relationsdatabas (RDB) kan nås med hjälp av JDBC API:er.
Definition av JDBC (Java Database Connectivity)
JDBC är ett API (Application Programming Interface) som används i Java-programmering för att interagera med databaser. De klasser och gränssnitt av JDBC tillåta ansökan till skicka förfrågningar görs av användare till den angivna databasen. Den nuvarande versionen av JDBC är JDBC 4.3, släpptes den 21 september 2017.
Syftet med JDBC
Företagsapplikationer skapade med JAVA EE-tekniken måste interagera med databaser för att lagra applikationsspecifik information. Så att interagera med en databas kräver effektiv databasanslutning, vilket kan uppnås genom att använda ODBC (Öppen databasanslutning) drivrutin. Den här drivrutinen används med JDBC för att interagera eller kommunicera med olika typer av databaser som Oracle, MS Access, Mysql och SQL-serverdatabas.
Komponenter i JDBC
Det finns i allmänhet fyra huvudkomponenter i JDBC genom vilka den kan interagera med en databas. De är som nämns nedan:
1. JDBC API: Den tillhandahåller olika metoder och gränssnitt för enkel kommunikation med databasen. Den tillhandahåller två paket enligt följande, som innehåller plattformarna java SE och Java EE för att uppvisa WORA-funktioner (skriv en gång körning var som helst). De java.sql Paketet innehåller gränssnitt och 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 tillhandahåller också en standard för att ansluta en databas till en klientapplikation.
2. JDBC-drivrutinshanterare : Den laddar en databasspecifik drivrutin i ett program för att upprätta en anslutning till en databas. Den används för att göra ett databasspecifikt anrop till databasen för att bearbeta användarförfrågan.
3. JDBC Test Suite: Den används för att testa operationen (såsom infogning, radering, uppdatering) som utförs av JDBC-drivrutiner.
4. JDBC-ODBC Bridge-drivrutiner : Den ansluter databasdrivrutiner till databasen. Denna brygga översätter JDBC-metodanropet till ODBC-funktionsanropet. Den använder sig av sun.jdbc.odbc paket som inkluderar ett inbyggt bibliotek för åtkomst till ODBC-egenskaper.
JDBC:s arkitektur

Beskrivning:
- Ansökan: Det är en java-applet eller en servlet som kommunicerar med en datakälla.
- JDBC API: JDBC API tillåter Java-program att exekvera SQL-satser och hämta resultat. Några av de viktiga gränssnitten som definieras i JDBC API är följande: Drivrutinsgränssnitt , ResultSet Interface , RowSet Interface , PreparedStatement gränssnitt, Connection gränssnitt och cClasses definierade i JDBC API är följande: DriverManager klass, Types class, Blob class, clob class.
- DriverManager: Det spelar en viktig roll i JDBC-arkitekturen. Den använder några databasspecifika drivrutiner för att effektivt ansluta företagsapplikationer till databaser.
- JDBC-drivrutiner: För att kommunicera med en datakälla via JDBC behöver du en JDBC-drivrutin som intelligent kommunicerar med respektive datakälla.
Typer av JDBC-arkitektur (två- och 3-skikt)
JDBC-arkitekturen består av bearbetningsmodeller i två nivåer och tre nivåer för att komma åt en databas. De är enligt beskrivningen nedan:
- Tvåstegsmodell: En java-applikation kommunicerar direkt till datakällan. JDBC-drivrutinen möjliggör kommunikation mellan applikationen och datakällan. När en användare skickar en fråga till datakällan skickas svaren på dessa frågor tillbaka till användaren i form av resultat.
Datakällan kan finnas på en annan maskin i ett nätverk som en användare är ansluten till. Detta är känt som en klient/server-konfiguration , där användarens dator fungerar som en klient, och maskinen har datakällan igång fungerar som server.
- Tredelad modell: I detta skickas användarens frågor till medelnivåtjänster, varifrån kommandona återigen skickas till datakällan. Resultaten skickas tillbaka till mellanskiktet och därifrån till användaren.
Den här typen av modell är mycket användbar av chefer för ledningsinformationssystem.
Vad är API?
Innan du hoppar in i JDBC-drivrutiner, låt oss veta mer om API.
API står för Applikationsprogrammeringsgränssnitt . Det är i huvudsak en uppsättning regler och protokoll som överför data mellan olika mjukvaruapplikationer och tillåter olika mjukvaruapplikationer att kommunicera med varandra. Genom ett API kan en applikation begära information eller utföra en funktion från en annan applikation utan att ha direkt tillgång till dess underliggande kod eller applikationsdata.
Linux kör kommando
JDBC API använder JDBC-drivrutiner för att ansluta till databasen.
JDBC-drivrutiner
JDBC-drivrutiner är adaptrar på klientsidan (installerade på klientdatorn, inte på servern) som konverterar förfrågningar från Java-program till ett protokoll som DBMS kan förstå. Det finns 4 typer av JDBC-drivrutiner:
- Typ-1-drivrutin eller JDBC-ODBC-bryggdrivrutin
- Typ-2-drivrutin eller Native-API-drivrutin (delvis java-drivrutin)
- Drivrutin för typ 3 eller nätverksprotokoll (helt java-drivrutin)
- Typ-4-drivrutin eller tunn drivrutin (helt java-drivrutin)
Gränssnitt för JDBC API
En lista över populära gränssnitt av JDBC API ges nedan:
- Drivrutinsgränssnitt
- Anslutningsgränssnitt
- Statement gränssnitt
- PreparedStatement-gränssnitt
- CallableStatement-gränssnitt
- ResultSet-gränssnitt
- ResultSetMetaData-gränssnitt
- DatabaseMetaData-gränssnitt
- RowSet-gränssnitt
Klasser av JDBC API
En lista över populära klasser av JDBC API ges nedan:
- DriverManager klass
- Blob klass
- Knubbklass
- Typer klass
Arbetar med JDBC
Java-applikation som behöver kommunicera med databasen måste programmeras med JDBC API. JDBC-drivrutin som stöder datakällor som Oracle och SQL-server måste läggas till i java-applikationen för JDBC-stöd, vilket kan göras dynamiskt under körning. Denna JDBC-drivrutin kommunicerar intelligent respektive datakälla.
Skapa en enkel JDBC-applikation:
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> Ovanstående exempel visar de grundläggande stegen för att komma åt en databas med JDBC. Applikationen använder JDBC-ODBC-bryggdrivrutinen för att ansluta till databasen. Du måste importera java.sql paket för att tillhandahålla grundläggande SQL-funktionalitet och använda paketets klasser.
Vad är behovet av JDBC?
JDBC är ett Java-databas-API som används för att skapa kopplingar mellan java-applikationer med olika databaser. I grund och botten används JDBC för att upprätta en stabil databasanslutning med applikationens API. För att exekvera och bearbeta relationsdatabasfrågor (SQL- eller Oracle-frågor) kan flera applikationer ansluta till olika typer av databaser som stöder både standard (SE) och företagsutgåva (EE) av java.