logo

Vytvorenie pripojenia JDBC v jazyku Java

Predtým Vytvorenie pripojenia JDBC v jazyku Java (front end, t. j. váš Java program a back end, t. j. databáza), by sme sa mali dozvedieť, čo presne je JDBC a prečo vznikol. Teraz poďme diskutovať o tom, čo presne JDBC znamená a čo zjednoduší pomocou ilustrácií v reálnom živote, aby to fungovalo.

čo je JDBC?

JDBC je skratka pre Java Database Connectivity. Je to pokrok pre ODBC (Open Database Connectivity). JDBC je štandardná špecifikácia API vyvinutá na presun údajov z frontendu do backendu. Toto API pozostáva z tried a rozhraní napísaných v jazyku Java. V podstate funguje ako rozhranie (nie to, ktoré používame v Jave) alebo kanál medzi vašim Java programom a databázami, t.j. vytvára prepojenie medzi nimi, takže programátor môže posielať dáta z Java kódu a ukladať ich do databázy pre budúce použitie. .



Ilustrácia: Práca JDBC v spojení s real-time

real-time_working_of_JDBC

Prečo JDBC vzniklo?

Ako už bolo povedané, JDBC je pokrok pre ODBC, ODBC závislý od platformy mal veľa nevýhod. ODBC API bolo napísané v C, C++, Pythone a Core Java a ako vieme, jazyky (okrem Java a niektorých častí Pythonu) sú závislé od platformy. Preto na odstránenie závislosti bol JDBC vyvinutý predajcom databázy, ktorý pozostával z tried a rozhraní napísaných v jazyku Java.



Kroky na prepojenie aplikácie Java s databázou

Nižšie sú uvedené kroky, ktoré vysvetľujú, ako sa pripojiť k databáze v jazyku Java:

Krok 1 – Importujte balíky
Krok 2 – Načítajte ovládače pomocou metóda forName().
Krok 3 – Zaregistrujte vodičov pomocou DriverManager
Krok 4 – Vytvorte spojenie pomocou objektu triedy Connection
Krok 5 – Vytvorte vyhlásenie
Krok 6 – Vykonajte dotaz
Krok 7 – Zatvorte spojenia

Pripojenie k databáze Java

Založenie-JDBC-Connection-in-Java



Pred implementáciou si tieto kroky v krátkosti rozoberieme napísaním vhodného kódu na ilustráciu krokov pripojenia pre JDBC.

Krok 1: Importujte balíčky

Krok 2: Načítavanie ovládačov

Aby ste mohli začať, musíte najprv načítať ovládač alebo ho zaregistrovať pred použitím v programe. Registráciu je potrebné vykonať raz vo vašom programe. Vodiča môžete zaregistrovať jedným z dvoch nižšie uvedených spôsobov:

2-A Class.forName()

Tu načítame súbor triedy ovládača do pamäte za behu. Nie je potrebné používať nové alebo vytvárať objekty. Nasledujúci príklad používa Class.forName() na načítanie ovládača Oracle, ako je uvedené nižšie:

Class.forName(oracle.jdbc.driver.OracleDriver);>

2-B DriverManager.registerDriver()

DriverManager je vstavaná trieda Java so statickým registrom členov. Tu voláme konštruktor triedy ovládača v čase kompilácie. Nasledujúci príklad používa DriverManager.registerDriver() na registráciu ovládača Oracle, ako je uvedené nižšie:

 DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver())>

Krok 3: Vytvorte spojenie použitím a Objekt triedy spojenia

Po načítaní ovládača vytvorte pripojenia, ako je znázornené nižšie:

kajal aggarwal
Connection con = DriverManager.getConnection(url,user,password)>
  • užívateľ: U Sername, z ktorého je možné získať prístup k vášmu príkazovému riadku SQL.
  • heslo: heslo, z ktorého je možné pristupovať k príkazovému riadku SQL.
  • s: Je to odkaz na rozhranie Connection.
  • Url : Uniform Resource Locator, ktorý je vytvorený ako je uvedené nižšie:
String url = jdbc:oracle:thin:@localhost:1521:xe>

Kde je databázou Oracle, Thin je použitý ovládač, @localhost je IP adresa, kde je databáza uložená, 1521 je číslo portu a xe je poskytovateľ služby. Všetky 3 vyššie uvedené parametre sú typu String a musia byť deklarované programátorom pred volaním funkcie. Použitie tohto môže byť uvedené na vytvorenie konečného kódu.

Krok 4: Vytvorte vyhlásenie

Po vytvorení spojenia môžete interagovať s databázou. Rozhrania JDBCStatement, CallableStatement a PreparedStatement definujú metódy, ktoré vám umožňujú odosielať príkazy SQL a prijímať údaje z vašej databázy.
Použitie vyhlásenia JDBC je nasledovné:

Statement st = con.createStatement();>

Poznámka: Con je odkaz na rozhranie pripojenia použité v predchádzajúcom kroku.

Krok 5: Vykonajte dotaz

Teraz prichádza najdôležitejšia časť, tj vykonanie dotazu. Dotaz tu je dotaz SQL. Teraz vieme, že môžeme mať viacero typov dopytov. Niektoré z nich sú nasledovné:

  • Dotaz na aktualizáciu/vloženie tabuľky do databázy.
  • Dopyt na získanie údajov.

Metóda executeQuery() súboru Rozhranie príkazu sa používa na vykonávanie dotazov na získanie hodnôt z databázy. Táto metóda vráti objekt ResultSet, ktorý možno použiť na získanie všetkých záznamov tabuľky.
Metóda executeUpdate(sql query) rozhrania Statement sa používa na vykonávanie dotazov aktualizácie/vkladania.

sú splice

Pseudokód:

int m = st.executeUpdate(sql); if (m==1)  System.out.println('inserted successfully : '+sql); else  System.out.println('insertion failed');>

Tu je sql dotaz SQL typu 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....'>);> >}> }>

>

>

Výkon :

konzolové_okno

Krok 6: Zatvorenie pripojení

Takže konečne sme odoslali údaje na určené miesto a teraz sme na pokraji dokončenia našej úlohy. Uzavretím spojenia sa automaticky zatvoria objekty Statement a ResultSet. Na zatvorenie spojenia sa používa metóda close() rozhrania Connection. Nižšie je znázornená nasledovne:

 con.close();>

Príklad:

Java


skener 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);> >}> >}> }>

>

>

Výstup po importovaní údajov do databázy:

output_screen_after_importing_data