Ennen JDBC-yhteyden muodostaminen Javassa (etuosa eli Java-ohjelmasi ja takaosa eli tietokanta) meidän pitäisi oppia, mikä JDBC tarkalleen on ja miksi se syntyi. Keskustellaan nyt siitä, mitä JDBC tarkalleen ottaen tarkoittaa, ja se helpottaa tosielämän kuvituksen avulla saadakseen sen toimimaan.
Mikä on JDBC?
JDBC on lyhenne sanoista Java Database Connectivity. Se on edistysaskel ODBC:lle (Open Database Connectivity). JDBC on standardi API-spesifikaatio, joka on kehitetty siirtämään tietoja etuosasta takapäähän. Tämä API koostuu Java-kielellä kirjoitetuista luokista ja käyttöliittymistä. Se toimii periaatteessa rajapintana (ei Javassa käyttämänä) tai kanavana Java-ohjelmasi ja tietokantojen välille, eli se muodostaa linkin näiden kahden välille, jotta ohjelmoija voi lähettää tietoja Java-koodista ja tallentaa sen tietokantaan tulevaa käyttöä varten. .
Kuva: JDBC:n työskentely yhdessä reaaliaikaisen kanssa
Miksi JDBC syntyi?
Kuten aiemmin kerrottiin, JDBC on edistysaskel ODBC:lle, alustariippuvaisella ODBC:llä oli monia haittoja. ODBC API on kirjoitettu C-, C++-, Python- ja Core Java -kielellä, ja kuten tiedämme yllä olevat kielet (paitsi Java ja osa Pythonista) ovat alustariippuvaisia. Siksi riippuvuuden poistamiseksi JDBC:n kehitti tietokantatoimittaja, joka koostui Java-kielellä kirjoitetuista luokista ja liitännöistä.
Vaiheet Java-sovelluksen yhdistämiseksi tietokantaan
Alla on vaiheet, jotka selittävät yhteyden muodostamisen Java-tietokantaan:
Vaihe 1 – Tuo paketit
Vaihe 2 – Lataa ajurit käyttämällä forName() -metodi
Vaihe 3 – Rekisteröi kuljettajat käyttämällä DriverManageria
Vaihe 4 – Muodosta yhteys käyttämällä Connection class -objektia
Vaihe 5 – Luo lausunto
Vaihe 6 – Suorita kysely
Vaihe 7 – Sulje liitännät
Java-tietokantayhteys
Keskustellaanpa näistä vaiheista lyhyesti ennen käyttöönottoa kirjoittamalla sopiva koodi havainnollistamaan JDBC:n yhteysvaiheita.
Vaihe 1: Tuo paketit
Vaihe 2: Ladataan ajureita
Aluksi sinun on ensin ladattava ohjain tai rekisteröitävä se ennen kuin käytät sitä ohjelmassa. Ilmoittautuminen tulee tehdä kerran ohjelmassasi. Voit rekisteröidä kuljettajan kahdella alla mainitulla tavalla seuraavasti:
2-A Class.forName()
Täällä lataamme kuljettajan luokkatiedoston muistiin ajon aikana. Ei tarvitse käyttää uusia tai luoda objekteja. Seuraava esimerkki käyttää Class.forName()-komentoa Oracle-ohjaimen lataamiseen alla esitetyllä tavalla:
Class.forName(oracle.jdbc.driver.OracleDriver);>
2-B DriverManager.registerDriver()
DriverManager on Java sisäänrakennettu luokka, jossa on staattinen jäsenrekisteri. Tässä kutsumme kuljettajaluokan rakentajaa käännöshetkellä. Seuraava esimerkki käyttää DriverManager.registerDriver()-funktiota Oracle-ohjaimen rekisteröimiseen alla olevan kuvan mukaisesti:
java tulostus
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver())>
Vaihe 3: Luo yhteys käyttämällä the Yhteysluokan objekti
Kun olet ladannut ajurin, muodosta yhteydet alla kuvatulla tavalla seuraavasti:
Connection con = DriverManager.getConnection(url,user,password)>
- käyttäjä: U sername, josta SQL-komentokehotteeseen pääsee.
- Salasana: salasana, josta pääsee SQL-komentokehotteeseen.
- kanssa: Se on viittaus Connection-liitäntään.
- URL-osoite : Uniform Resource Locator, joka luodaan alla olevan kuvan mukaisesti:
String url = jdbc:oracle:thin:@localhost:1521:xe>
Kun Oracle on käytetty tietokanta, thin on käytetty ajuri, @localhost on IP-osoite, johon tietokanta on tallennettu, 1521 on portin numero ja xe on palveluntarjoaja. Kaikki 3 yllä olevaa parametria ovat merkkijonotyyppiä ja ohjelmoijan tulee ilmoittaa ne ennen funktion kutsumista. Tämän käyttöön voidaan viitata lopullisen koodin muodostamiseksi.
Vaihe 4: Luo lausunto
Kun yhteys on muodostettu, voit olla vuorovaikutuksessa tietokannan kanssa. JDBCStatement-, CallableStatement- ja PreparedStatement-liitännät määrittävät menetelmät, joiden avulla voit lähettää SQL-komentoja ja vastaanottaa tietoja tietokannasta.
JDBC-lausunnon käyttö on seuraava:
Statement st = con.createStatement();>
Huomautus: Tässä con on viittaus edellisessä vaiheessa käytettyyn liitäntäliittymään .
Vaihe 5: Suorita kysely
Nyt tulee tärkein osa eli kyselyn suorittaminen. Tämä kysely on SQL-kysely. Nyt tiedämme, että meillä voi olla monenlaisia kyselyitä. Jotkut niistä ovat seuraavat:
- Kysely taulukon päivittämiseksi/lisäämiseksi tietokantaan.
- Tietojen hakukysely.
executeQuery()-menetelmä Lausunnon käyttöliittymä käytetään suorittamaan kyselyitä arvojen hakemisesta tietokannasta. Tämä menetelmä palauttaa ResultSet-objektin, jota voidaan käyttää kaikkien taulukon tietueiden hakemiseen.
Statement-rajapinnan executeUpdate(sql query) -menetelmää käytetään päivitys-/lisäyskyselyjen suorittamiseen.
Pseudokoodi:
int m = st.executeUpdate(sql); if (m==1) System.out.println('inserted successfully : '+sql); else System.out.println('insertion failed');>
Tässä sql on SQL-kysely, jonka tyyppi on String:
Java
// 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....'> );> > }> }> |
>
>
Lähtö :
Vaihe 6: Sulje liitännät
Joten vihdoin olemme lähettäneet tiedot määritettyyn paikkaan ja nyt olemme suorittamassa tehtävämme. Kun yhteys suljetaan, Lausekkeen ja ResultSetin objektit suljetaan automaattisesti. Yhteysliittymän close()-menetelmää käytetään yhteyden sulkemiseen. Se näkyy alla seuraavasti:
con.close();>
Esimerkki:
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);> > }> > }> }> |
>
>
Tulostus tietojen tuonnin jälkeen tietokantaan: