Hvordan koble til en database i Java? - JDBC Tutorial



Denne artikkelen vil fortelle deg hvordan du kobler til MySQL-database i Java. JDBC er en av standard Java API for databaseuavhengig tilkobling mellom Java og et bredt spekter av databaser.

, som er et av de mest fremtredende programmeringsspråkene, gir omfattende støtte til databaser. Det hjelper oss å koble til forskjellige databaser gjennom (Java Database Connectivity). I denne artikkelen vil jeg fortelle deg hvordan du kobler til en database og utfører spørsmål ved hjelp av JDBC.

Følgende emner er dekket i denne artikkelen:





Introduksjon til JDBC

JDBC er en av standard Java API for databaseuavhengig tilkobling mellom og et bredt spekter av databaser.Denne API-en lar deg kode uttalelsene om tilgangsforespørsel i Strukturert spørrespråk (SQL). Dettehovedsakelig innebærer å åpne en forbindelse, opprette en SQL-database, utføre SQL-spørringer og deretter komme til utdataene.

JDBC API kan brukes til å få tilgang til tabelldata som er lagret i hvilken som helst relasjonsdatabase. Med dette kan du oppdatere, lagre, hente og slette dataene fra databasene. Det ligner på Open Database Connectivity (ODBC) levert av Microsoft.



For å få en bedre forståelse av JDBCs arbeid, la oss dykke dypere inn i emnet og forstå arkitekturen som ligger bak Java Database Connectivity.

Vanlige JDBC-komponenter

JDBC API gir følgende grensesnitt og klasser og minus

  • DriverManager: Dette brukes hovedsakelig til å administrere en liste over databasedrivere. Driveren som gjenkjenner en bestemt underprotokoll, vil bli brukt til å opprette en databaseforbindelse.



    binær til desimal i Java
  • Sjåføren er et grensesnitt som håndterer kommunikasjonen med databaseserveren. Det abstrakterer også detaljenesom er tilknyttet mens du arbeider med driverobjekter.

  • En tilkobling er et grensesnitt som består av alle metodene som kreves for å koble til en database. Forbindelsesobjektet tar for seg kommunikasjonsfunksjonene i databasen. kontekst.

La oss nå gå videre til neste emne og se på trinnene som kreves for å opprette en JDBC-applikasjon.

Fremgangsmåte for å opprette JDBC-applikasjon

For å opprette en JDBC-applikasjon, må du følge noen få trinn. La oss se hva de er.

Fremgangsmåte for å lage JDBC-applikasjon - Avansert Java-opplæring - Edureka

  1. Importer pakkene: Du må inkludere alle pakkene som inneholder JDBC-klassene du trenger databaseprogrammering . Oftest bruker importer java.sql. * vil være tilstrekkelig.

  2. Registrer JDBC-driveren: Her må du initialisere en driver slik at du kan åpne en kommunikasjonskanal med databasen.

  3. Åpne en forbindelse: Her kan du bruke getConnection () metode for å opprette et Connection-objekt, som representerer en fysisk forbindelse med databasen.

  4. Utfør et spørsmål: Dette krever faktisk å bruke et objekt av typen Statement for å bygge og sende en SQL-setning til databasen.

  5. Pakk ut data fra resultatsettet: Det anbefales at du bruker riktig getXXX () metode for å hente dataene fra resultatsettet.

  6. Rydd opp i miljøet: Her er det viktig åeksplisitt lukke alle databaseressurser versus å stole på JVMs søppelinnsamling.

Nå som du har sett forskjellige trinn involvert for å lage en JDBC-applikasjon, la oss se en eksempelkode for å opprette en database og opprette en forbindelse.

pakke Edureka import java.sql. * import java.sql.DriverManager offentlig klasse Eksempel {// JDBC drivernavn og database URL statisk slutt String JDBC_DRIVER = 'com.mysql.jdbc.Driver' statisk slutt String DB_URL = 'jdbc: mysql: // localhost / emp '// Database credentials static final String USER =' root 'static final String PASS =' 'public static void main (String [] args) {Connection conn = null Statement stmt = null try {// STEP 2 : Registrer JDBC-driver Class.forName ('com.mysql.cj.jdbc.Driver') // TRINN 3: Åpne en tilkobling System.out.println ('Koble til database ...') conn = DriverManager.getConnection (DB_URL , 'root', '') // TRINN 4: Utfør et spørsmål System.out.println ('Opprette uttalelse ...') stmt = conn.createStatement () String sql sql = 'VELG id, første, siste, alder FRA Ansattes ResultSet rs = stmt.executeQuery (sql) // TRINN 5: Pakk ut data fra resultatsettet mens (rs.next ()) {// Hent etter kolonnenavn int id = rs.getInt ('id') int age = rs.getInt ('age') Streng først = rs.getString ('first') Streng siste = rs.getString ('siste') // Visningsverdier System.out.print ('ID:' + id) System.out.print (', Age:' + age) System.out.print (', First : '+ først) System.out.println (', Siste: '+ siste)} // TRINN 6: Oppryddingsmiljø rs.close () stmt.close () connect.close ()} catch (SQLException se) {// Håndteringsfeil for JDBC se.printStackTrace ()} fangst (Unntak e) {// Håndteringsfeil for Class.forName e.printStackTrace ()} endelig {// endelig blokk som brukes til å lukke ressurser, prøv {if (stmt! = null) stmt.close ()} catch (SQLException se2) {} // ingenting kan gjøres, prøv {if (conn! = null) conn.close ()} catch (SQLException se) {se.printStackTrace ()} // slutt slutt prøv} // slutt prøv System.out.println ('Farvel!')} // slutt hoved} // slutt Eksempel

Ovenfor koden oppretter en tabell i din lokale vertsdatabase. For å sette inn verdiene i den opprettede databasen, kan du se koden nedenfor. Jeg skal skrive koden bare i trinn 4. Resten av koden forblir den samme som ovenfor.

// TRINN 4: Utfør en spørring System.out.println ('Opprette tabell i gitt database ...') stmt = conn.createStatement () String sql = 'CREATE TABLE EMPLOYEES' + '(id INTEGER not NULL,' + 'første VARCHAR (255),' + 'siste VARCHAR (255),' + 'age INTEGER,' + 'PRIMARY KEY (id))' stmt.executeUpdate (sql) System.out.println ('Opprettet tabell i gitt database ... ') System.out.println (' Sette inn poster i tabellen ... ') stmt = conn.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 (' Sett inn poster i tabellen. .. ')

Så dette er hvordan du kan opprette en forbindelse til databasen og sette inn verdier i tabellene. La oss nå gå videre og forstå forskjellige JDBC-drivertyper

JDBC-drivertyper

JDBC-drivere brukes til å implementere de definerte grensesnittene i JDBC API for interaksjon med databaseserveren.I hovedsak, en JDBC-sjåfør gjør tre ting, og de er som følger:
1. Oppretter en forbindelse med en datakilde.
2. Det vil sende spørsmål og oppdatere uttalelser til datakilden.
3. Til slutt behandler den resultatene.

For eksempel hjelper JDBC-drivere deg med å åpne en databaseforbindelse for å samhandle med den ved å sende . Hvis du ønsker å vite mer om typer JDBC-drivere, kan du se denne artikkelen på .

La oss nå gå videre og forstå JDBC Connections.

JDBC-tilkoblinger

  • Importer JDBC-pakker: Legge til import uttalelser til din for å importere nødvendige klasser i Java-koden.

  • Registrer JDBC Driver: In t hans skritt, for å laste inn ønsket driverimplementering i minnet slik at den kan oppfylle JDBC-forespørslene. Det er to måter å registrere en driver på.

    • Den mest egnede fremgangsmåten for å registrere en driver er å bruke Java’s forName () metode for å laste inn førerens klassefil dynamisk i minnet , som automatisk registrerer den. Denne metoden er egnet da den lar deg gjøre driverregistreringen konfigurerbar og bærbar. Ta en titt på koden nedenfor:

      prøv {Class.forName ('oracle.jdbc.driver.OracleDriver')} catch (ClassNotFoundException ex) System.out.println ('Feil: kan ikke laste driverklasse!') System.exit (1)}
    • Den andre tilnærmingen du kan bruke til å registrere en driver, er å bruke statisk registerDriver () metode.

      prøv {Driver myDriver = new oracle.jdbc.driver.OracleDriver () DriverManager.registerDriver (myDriver)} fangst (ClassNotFoundException ex) {System.out.println ('Feil: kan ikke laste driverklasse!') System.exit (1 )}
  • Du bør bruke registerDriver () metoden hvis du bruker en JVM som ikke er JDK-kompatibel, slik som den som tilbys av Microsoft. Her krever hvert skjema en database URL .

  • Database URL-formulering: URL-formulering er nødvendig for å opprette en riktig formatert adresse som peker til databasen du vil koble til. Når du har lastet inn driveren, kan du opprette en forbindelse ved hjelp av DriverManager.getConnection () metode. DriverManager.getConnection () -metodene er & minus

    • getConnection (String url)

    • getConnection (String url, Properties prop)

    • getConnection (streng url, streng bruker, streng passord)

  • Opprett et tilkoblingsobjekt

Du kan opprette en forbindelse ved hjelp av database-URL, brukernavn og passord, og også ved hjelp av egenskaper-objekt.

  • Lukk

Til slutt, for å avslutte databaseøkten, må du lukke alle databasetilkoblingene. Hvis du glemmer det, vil Java-søppeloppsamleren imidlertid stenge forbindelsen når den renser opp foreldede gjenstander.

conn.close () // Brukes til å lukke forbindelsen

Det handlet om Java Database Connectivity. Hvis du ønsker å vite mer om JDBC, kan du referere til denne artikkelen på . Dette bringer oss til slutten av artikkelen om ‘hvordan du kobler til en database’. Jeg håper jeg har kastet litt lys over din kunnskap om JDBC.

Sjekk ut av Edureka, et pålitelig online læringsfirma med et nettverk av mer enn 250 000 fornøyde elever spredt over hele verden. Vi er her for å hjelpe deg med hvert trinn på reisen, for å bli en foruten dette java-intervjuspørsmålene, kommer vi med en læreplan som er designet for studenter og fagpersoner som ønsker å være Java-utvikler.

Har du et spørsmål til oss? Vennligst nevn det i kommentarfeltet i denne artikkelen 'Hvordan koble til en database', så kommer vi tilbake til deg så snart som mulig.