Før Etablere JDBC-tilkobling i Java (frontenden, dvs. Java-programmet ditt og bakenden, dvs. databasen), bør vi lære nøyaktig hva en JDBC er og hvorfor den ble til. La oss nå diskutere hva JDBC står for og vil lette ved hjelp av illustrasjoner fra virkeligheten for å få det til å fungere.
Hva er JDBC?
JDBC er et akronym for Java Database Connectivity. Det er et fremskritt for ODBC (Open Database Connectivity). JDBC er en standard API-spesifikasjon utviklet for å flytte data fra frontenden til bakenden. Denne API-en består av klasser og grensesnitt skrevet i Java. Det fungerer i utgangspunktet som et grensesnitt (ikke det vi bruker i Java) eller kanal mellom Java-programmet ditt og databaser, dvs. det etablerer en kobling mellom de to slik at en programmerer kan sende data fra Java-kode og lagre dem i databasen for fremtidig bruk .
java polymorfisme
Illustrasjon: Arbeider med JDBC samrelatert med sanntid
Hvorfor JDBC ble til?
Som tidligere fortalt er JDBC et fremskritt for ODBC, at ODBC var plattformavhengig hadde mange ulemper. ODBC API ble skrevet i C, C++, Python og Core Java, og som vi vet ovenfor er språk (unntatt Java og en del av Python) plattformavhengige. For å fjerne avhengighet ble JDBC utviklet av en databaseleverandør som besto av klasser og grensesnitt skrevet i Java.
Trinn for å koble Java-applikasjonen til databasen
Nedenfor er trinnene som forklarer hvordan du kobler til databasen i Java:
Trinn 1 – Importer pakkene
Steg 2 – Last inn driverne ved hjelp av forName()-metoden
Trinn 3 – Registrer sjåførene ved å bruke DriverManager
Trinn 4 – Etabler en forbindelse ved å bruke Connection-klasseobjektet
Trinn 5 – Lag en uttalelse
Trinn 6 – Utfør spørringen
Trinn 7 – Lukk koblingene
Java-databasetilkobling
La oss diskutere disse trinnene kort før implementering ved å skrive passende kode for å illustrere tilkoblingstrinn for JDBC.
Trinn 1: Importer pakkene
Steg 2: Laster driverne
For å begynne med må du først laste inn driveren eller registrere den før du bruker den i programmet. Registrering skal gjøres én gang i programmet. Du kan registrere en sjåfør på en av to måter nevnt nedenfor som følger:
2-A Class.forName()
Her laster vi inn sjåførens klassefil i minnet under kjøretiden. Ingen behov for å bruke nye eller lage objekter. Følgende eksempel bruker Class.forName() for å laste Oracle-driveren som vist nedenfor som følger:
Class.forName(oracle.jdbc.driver.OracleDriver);>
2-B DriverManager.registerDriver()
DriverManager er en innebygd Java-klasse med et statisk medlemsregister. Her kaller vi konstruktøren av driverklassen på kompileringstidspunktet. Følgende eksempel bruker DriverManager.registerDriver() for å registrere Oracle-driveren som vist nedenfor:
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver())>
Trinn 3: Etabler en forbindelse ved hjelp av de Tilkoblingsklasseobjekt
Etter å ha lastet driveren, oppretter du tilkoblinger som vist nedenfor som følger:
Connection con = DriverManager.getConnection(url,user,password)>
- bruker: U sernavn som du kan få tilgang til SQL-ledeteksten fra.
- passord: passord som du kan få tilgang til SQL-ledeteksten fra.
- med: Det er en referanse til Connection-grensesnittet.
- URL : Uniform Resource Locator som er opprettet som vist nedenfor:
String url = jdbc:oracle:thin:@localhost:1521:xe>
Der oracle er databasen som brukes, er tynn driveren som brukes, @localhost er IP-adressen der en database er lagret, 1521 er portnummeret og xe er tjenesteleverandøren. Alle 3 parameterne ovenfor er av strengtype og skal deklareres av programmereren før funksjonen kalles opp. Bruk av dette kan henvises til å danne den endelige koden.
Trinn 4: Lag en uttalelse
Når en tilkobling er opprettet, kan du samhandle med databasen. Grensesnittene JDBCStatement, CallableStatement og PreparedStatement definerer metodene som lar deg sende SQL-kommandoer og motta data fra databasen.
Bruken av JDBC-erklæringen er som følger:
Statement st = con.createStatement();>
Merk: Her er con en referanse til tilkoblingsgrensesnittet som ble brukt i forrige trinn.
gjennomstrekning
Trinn 5: Utfør spørringen
Nå kommer den viktigste delen, det vil si å utføre spørringen. Spørringen her er en SQL-spørring. Nå vet vi at vi kan ha flere typer søk. Noen av dem er som følger:
- Spørringen for å oppdatere/sette inn en tabell i en database.
- Spørsmålet for å hente data.
executeQuery()-metoden til Uttalelsesgrensesnitt brukes til å utføre spørringer for å hente verdier fra databasen. Denne metoden returnerer objektet til ResultSet som kan brukes til å hente alle postene i en tabell.
executeUpdate(sql-query)-metoden til Statement-grensesnittet brukes til å utføre spørringer om oppdatering/innsetting.
Pseudokode:
int m = st.executeUpdate(sql); if (m==1) System.out.println('inserted successfully : '+sql); else System.out.println('insertion failed');>
Her er sql SQL-spørring av typen String:
Java
java tilfeldig tall
// This code is for establishing connection with MySQL> // database and retrieving data> // from db Java Database connectivity> /*> > *1. import --->java.sql> > *2. load and register the driver --->com.jdbc.> > *3. create connection> > *4. create a statement> > *5. execute the query> > *6. process the results> > *7. close> > */> import> java.io.*;> import> java.sql.*;> class> GFG {> > public> static> void> main(String[] args)> throws> Exception> > {> > String url> > => 'jdbc: mysql://localhost:3306/table_name '> ; // table details> > String username => 'rootgfg'> ;> // MySQL credentials> > String password => 'gfg123'> ;> > String query> > => 'select *from students'> ;> // query to be run> > Class.forName(> > 'com.mysql.cj.jdbc.Driver'> );> // Driver name> > Connection con = DriverManager.getConnection(> > url, username, password);> > System.out.println(> > 'Connection Established successfully'> );> > Statement st = con.createStatement();> > ResultSet rs> > = st.executeQuery(query);> // Execute query> > rs.next();> > String name> > = rs.getString(> 'name'> );> // Retrieve name from db> > System.out.println(name);> // Print result on console> > st.close();> // close statement> > con.close();> // close connection> > System.out.println(> 'Connection Closed....'> );> > }> }> |
>
>
string.format java
Produksjon :
Trinn 6: Lukke tilkoblingene
Så endelig har vi sendt dataene til det angitte stedet og nå er vi på nippet til å fullføre oppgaven vår. Ved å lukke forbindelsen, vil objekter av Statement og ResultSet bli lukket automatisk. Close()-metoden til Connection-grensesnittet brukes til å lukke tilkoblingen. Det vises nedenfor som følger:
con.close();>
Eksempel:
Java
// Java Program to Establish Connection in JDBC> // Importing database> import> java.sql.*;> // Importing required classes> import> java.util.*;> // Main class> class> Main {> > // Main driver method> > public> static> void> main(String a[])> > {> > // Creating the connection using Oracle DB> > // Note: url syntax is standard, so do grasp> > String url => 'jdbc:oracle:thin:@localhost:1521:xe'> ;> > // Username and password to access DB> > // Custom initialization> > String user => 'system'> ;> > String pass => '12345'> ;> > // Entering the data> > Scanner k => new> Scanner(System.in);> > System.out.println(> 'enter name'> );> > String name = k.next();> > System.out.println(> 'enter roll no'> );> > int> roll = k.nextInt();> > System.out.println(> 'enter class'> );> > String cls = k.next();> > // Inserting data using SQL query> > String sql => 'insert into student1 values(''> + name> > +> '','> + roll +> ',''> + cls +> '')'> ;> > // Connection class object> > Connection con => null> ;> > // Try block to check for exceptions> > try> {> > // Registering drivers> > DriverManager.registerDriver(> > new> oracle.jdbc.OracleDriver());> > // Reference to connection interface> > con = DriverManager.getConnection(url, user,> > pass);> > // Creating a statement> > Statement st = con.createStatement();> > // Executing query> > int> m = st.executeUpdate(sql);> > if> (m ==> 1> )> > System.out.println(> > 'inserted successfully : '> + sql);> > else> > System.out.println(> 'insertion failed'> );> > // Closing the connections> > con.close();> > }> > // Catch block to handle exceptions> > catch> (Exception ex) {> > // Display message when exceptions occurs> > System.err.println(ex);> > }> > }> }> |
>
java indeks over
>
Utdata etter import av data i databasen: