Hur man ansluter till en databas i Java? - JDBC-handledning



Den här artikeln berättar hur du ansluter MySQL-databas i Java. JDBC är ett av standard-Java API för databasoberoende anslutning mellan Java och ett brett utbud av databaser.

, som är ett av de mest framträdande programmeringsspråken, ger omfattande stöd till databaser. Det hjälper oss att ansluta till olika databaser genom (Java-databasanslutning). I den här artikeln kommer jag att berätta hur du ansluter till en databas och kör frågor med JDBC.

Nedanstående ämnen behandlas i den här artikeln:





Introduktion till JDBC

JDBC är en av standard Java API för databasoberoende anslutningar mellan och ett brett utbud av databaser.Detta API låter dig koda uttalandena om åtkomstbegäran i Structured Query Language (SQL). Dettahandlar främst om att öppna en anslutning, skapa en SQL-databas, utföra SQL-frågor och sedan komma fram till utdata.

JDBC API kan användas för att komma åt tabelldata som lagras i vilken relationsdatabas som helst. Med detta kan du uppdatera, spara, hämta och ta bort data från databaserna. Det liknar Open Database Connectivity (ODBC) från Microsoft.



För en bättre förståelse av JDBC: s arbete, låt oss dyka djupare in i ämnet och förstå arkitekturen som ligger bakom Java Database Connectivity.

Vanliga JDBC-komponenter

JDBC API ger följande gränssnitt och klasser och minus

  • DriverManager: Detta används främst för att hantera en lista med databasdrivrutiner. Drivrutinen som känner igen ett visst delprotokoll kommer att användas för att upprätta en databasanslutning.



  • Föraren är ett gränssnitt som hanterar kommunikationen med databasservern. Det abstrakterar också detaljernasom associeras när du arbetar med Driver-objekt.

  • Ett samband är ett gränssnitt som består av alla metoder som krävs för att ansluta till en databas. Anslutningsobjektet handlar om databasens kommunikationsfunktioner. sammanhang.

Låt oss gå vidare till nästa ämne och titta på de steg som krävs för att skapa en JDBC-applikation.

Steg för att skapa JDBC-applikation

För att skapa en JDBC-applikation måste du följa några steg. Låt oss se vad de är.

Steg för att skapa JDBC-applikation - Avancerad Java-handledning - Edureka

  1. Importera paketen: Du måste inkludera alla paket som innehåller de JDBC-klasser som behövs för databasprogrammering . Oftast använder importera java.sql. * kommer att räcka.

  2. Registrera JDBC-drivrutinen: Här måste du initiera en drivrutin så att du kan öppna en kommunikationskanal med databasen.

  3. Öppna en anslutning: Här kan du använda getConnection () metod för att skapa ett anslutningsobjekt, som representerar en fysisk anslutning till databasen.

  4. Utför en fråga: Detta kräver faktiskt att man använder ett objekt av typen Statement för att bygga och skicka ett SQL-uttalande till databasen.

  5. Extrahera data från resultatuppsättningen: Det föreslås att du använder lämpligt getXXX () metod för att hämta data från resultatuppsättningen.

    hur man undviker blockeringar i java
  6. Rengör miljön: Här är det viktigt attstänga uttryckligen alla databasresurser kontra att förlita sig på JVM: s skräpsamling.

Nu när du har sett olika steg för att skapa en JDBC-applikation, låt oss se en exempelkod för att skapa en databas och upprätta en anslutning.

paket Edureka importera java.sql. * importera java.sql.DriverManager public class Exempel {// JDBC-drivrutinsnamn och databas-URL statisk slutlig Sträng JDBC_DRIVER = 'com.mysql.jdbc.Driver' statisk slutlig Sträng DB_URL = 'jdbc: mysql: // localhost / emp '// Databasuppgifter statisk slutlig Sträng USER =' root 'statisk slutlig Sträng PASS =' 'offentlig statisk tomrum huvud (String [] args) {Anslutning conn = null Uttalande stmt = null försök {// STEG 2 : Registrera JDBC-drivrutin Class.forName ('com.mysql.cj.jdbc.Driver') // STEG 3: Öppna en anslutning System.out.println ('Ansluter till databas ...') conn = DriverManager.getConnection (DB_URL , 'root', '') // STEG 4: Utför en fråga System.out.println ('Skapar uttalande ...') stmt = conn.createStatement () String sql sql = 'VÄLJ id, första, sista, ålder FRÅN anställdas ResultSet rs = stmt.executeQuery (sql) // STEG 5: Extrahera data från resultatuppsättningen medan (rs.next ()) {// Hämta med kolumnnamn int id = rs.getInt ('id') int ålder = rs.getInt ('age') Sträng först = rs.getString ('first') Sträng last = rs.getString ('last') // Visningsvärden System.out.print ('ID:' + id) System.out.print (', Age:' + age) System.out.print (', First : '+ först) System.out.println (', Sista: '+ sista)} // STEG 6: Rengöringsmiljö rs.close () stmt.close () connect.close ()} catch (SQLException se) {// Hantera fel för JDBC se.printStackTrace ()} fångst (undantag e) {// Hantera fel för Class.forName e.printStackTrace ()} äntligen {// äntligen block som används för att stänga resurser försök {if (stmt! = null) stmt.close ()} catch (SQLException se2) {} // ingenting kan göras försök {if (conn! = null) conn.close ()} catch (SQLException se) {se.printStackTrace ()} // slut äntligen försök} // slut försök System.out.println ('Adjö!')} // slut huvud} // slut Exempel

Ovanstående kod skapar en tabell i din lokala värddatabas. För att infoga värdena i den skapade databasen kan du hänvisa till koden nedan. Jag skriver bara koden för steg 4. Resten av koden förblir densamma som ovan.

// STEG 4: Utför en fråga System.out.println ('Skapa tabell i en given databas ...') stmt = conn.createStatement () String sql = 'CREATE TABLE EMPLOEEES' + '(id INTEGER not NULL,' + 'first VARCHAR (255),' + 'last VARCHAR (255),' + 'age INTEGER,' + 'PRIMARY KEY (id))' stmt.executeUpdate (sql) System.out.println ('Skapad tabell i given databas ... ') System.out.println (' Infoga poster i tabellen ... ') stmt = connect.createStatement () String sql =' INSERT INTO Employees VALUES (100, 'Kriss', 'Kurian', 18) 'stmt.executeUpdate (sql) sql =' INSERT INTO Employees VALUES (101, 'Enrique', 'John', 25) 'stmt.executeUpdate (sql) sql =' INSERT INTO Employees (102, 'Taylor', 'Swift' , 30) 'stmt.executeUpdate (sql) sql =' INSERT INTO Employees VALUES (103, 'Linkin', 'Park', 28) 'stmt.executeUpdate (sql) System.out.println (' Infogade poster i tabellen. .. ')

Så här kan du skapa en anslutning till databasen och infoga värden i tabellerna. Låt oss nu gå vidare och förstå olika JDBC-drivrutinsarter

JDBC-drivrutinsarter

JDBC-drivrutiner används för att implementera de definierade gränssnitten i JDBC API för interaktion med databasservern.I huvudsak, a JDBC-drivrutin gör tre saker och de är som följer:
1. Upprättar en anslutning till en datakälla.
2. Den skickar frågor och uppdaterar uttalanden till datakällan.
3. Slutligen bearbetar den resultaten.

Till exempel hjälper JDBC-drivrutiner dig att öppna en databasanslutning för att interagera med den genom att skicka . Om du vill veta mer om typer av JDBC-drivrutiner kan du läsa den här artikeln på .

Låt oss nu gå vidare och förstå JDBC Connections.

JDBC-anslutningar

  • Importera JDBC-paket: Lägg till importera uttalanden till din för att importera obligatoriska klasser i din Java-kod.

  • Registrera JDBC Driver: In t hans steg, för att ladda den önskade drivrutinsimplementeringen i minnet så att den kan uppfylla JDBC-förfrågningarna. Det finns två sätt att registrera en förare.

    • Det mest lämpliga sättet att registrera en drivrutin är att använda Java forName () metod för att dynamiskt ladda förarens klassfil i minnet , som automatiskt registrerar det. Denna metod är lämplig eftersom den låter dig göra förarregistreringen konfigurerbar och bärbar. Ta en titt på koden nedan:

      prova {Class.forName ('oracle.jdbc.driver.OracleDriver')} fångst (ClassNotFoundException ex) System.out.println ('Fel: det går inte att ladda förarklass!') System.exit (1)}
    • Det andra tillvägagångssättet du kan använda för att registrera en drivrutin är att använda det statiska registerDriver () metod.

      prova {Driver myDriver = new oracle.jdbc.driver.OracleDriver () DriverManager.registerDriver (myDriver)} fångst (ClassNotFoundException ex) {System.out.println ('Fel: det går inte att ladda förarklass!') System.exit (1 )}
  • Du bör använda registerDriver () metod om du använder en JVM som inte är JDK-kompatibel, som den som tillhandahålls av Microsoft. Här kräver varje formulär en databas URL .

  • Formulering av databas-URL: URL-formulering är nödvändig för att skapa en korrekt formaterad adress som pekar på den databas som du vill ansluta till. När du har laddat drivrutinen kan du upprätta en anslutning med DriverManager.getConnection () metod. DriverManager.getConnection () -metoderna är & minus

    skillnad mellan ansible och kock
    • getConnection (String url)

    • getConnection (String url, Properties prop)

    • getConnection (String url, String user, String password)

  • Skapa ett anslutningsobjekt

Du kan skapa en anslutning med hjälp av databasens URL, användarnamn och lösenord och även med egenskaper objekt.

  • Stänga

Slutligen, för att avsluta databassessionen, måste du stänga alla databasanslutningar. Men om du glömmer stänger Java: s sopuppsamlare anslutningen när den rensar in gamla föremål.

conn.close () // Används för att stänga anslutningen

Det handlade bara om Java Database Connectivity. Om du vill veta mer om JDBC kan du hänvisa till den här artikeln på . Detta leder oss till slutet av artikeln om ”hur man ansluter till en databas”. Jag hoppas att jag har kastat lite ljus på din kunskap om JDBC.

Kolla in av Edureka, ett pålitligt inlärningsföretag online med ett nätverk av mer än 250 000 nöjda elever spridda över hela världen. Vi är här för att hjälpa dig med varje steg på din resa, för att bli en förutom de här Java-intervjufrågorna, kommer vi med en läroplan som är utformad för studenter och yrkesverksamma som vill vara Java-utvecklare.

Har du en fråga till oss? Vänligen nämna det i kommentarsektionen i denna artikel 'hur man ansluter till en databas' så återkommer vi till dig så snart som möjligt.