Úvod do architektúry JDBC

Java Database Connectivity (JDBC) je API (Application Program Interface) alebo rozhranie nezávislé na platforme, ktoré pomáha prepojiť java programy s rôznymi databázami ako Oracle, My SQL, MS Access a SQL Server. Poskytuje spôsoby dotazovania a aktualizácie databázy pomocou aktualizačných príkazov SQL (Structured Query Language), ako sú CREATE, DELETE, INSERT a UPDATE a dotazovacích príkazov ako SELECT. Je takmer podobný ODBC (Open Database Connectivity), ktorú poskytla spoločnosť Microsoft.

Ak chcete program java alebo aplikáciu prepojiť s databázou, je potrebné dodržať päť krokov:

1. Načítať ovládač: Ovládač pomáha vytvoriť spojenie s databázou, a preto sa ovládač musí načítať raz do programu. Toto je možné dosiahnuť dvoma spôsobmi:

  • Class.forName (): Použitím tohto sa súbor triedy vodiča načíta do pamäte počas doby vykonávania. Nie je potrebné vytvárať nový objekt. Napríklad:

Class.forName(“oracle.jdbc.driver.OracleDriver”);

  • DriverManager.registerDriver (): Tu je DriverManager vstavanou triedou Java, pričom register je jeho statickým členom. Týmto použitím sa konštruktor triedy vodiča volá počas kompilácie. V tomto novom objekte sa vytvorí. Napríklad:

DriverManager.registerDriver(new oracle.jdbd.driver.OracleDriver());

2. Vytváranie spojení: Po načítaní ovládača sa vytvorí spojenie. Objekt pripojenia používa na nastavenie pripojenia používateľské meno, heslo a URL. URL má preddefinovaný formát, ktorý obsahuje názov databázy, použitý ovládač, IP adresu, kde je databáza uložená, číslo portu a poskytovateľa služieb. Spojenie je možné vytvoriť príkazom:

Connection con = DriverManager.getConnection(URL, user, password);

3. Vytvorenie príkazu: Po nadviazaní spojenia môže užívateľ pracovať s databázou. Rozhrania, ako je príkaz JDBC, PreparedStatement, CallableStatement, poskytuje metódy, ktoré umožňujú užívateľovi odosielať príkazy SQL a získavať údaje z databázy. Príkaz použitý na vytvorenie príkazu je;

Statement stmt = con.createStatement();

4. Vykonanie dotazu: SQL dotaz sa vykoná na interakciu s databázou. Dotaz môže byť na aktualizáciu / vloženie do databázy alebo na získanie údajov. Rozhranie príkazu poskytuje dve metódy, tj metódu executeQuery () na vykonávanie dotazov na získavanie údajov, zatiaľ čo metóda executeUpdate () na vykonávanie dotazov na aktualizáciu alebo vkladanie. Napríklad:

int n = stmt.executeUpdate(“DELETE TABLENAME”);
if(n==1)
System.out.println(“Success”);
else
System.out.println(“Failed”);

5. Zatvorenie pripojenia: Po vykonaní nášho dotazu bol dátový užívateľ, ktorý chcel aktualizovať alebo načítať, hotový, takže teraz je čas ukončiť nadviazané pripojenie. Rozhranie pripojenia poskytuje metódu close () na ukončenie spojenia. Napríklad:

con.close();

Architektúra JDBC

JDBC podporuje dva typy modelov spracovania pre prístup k databáze, tj dvojvrstvový a trojvrstvový.

1. Dvojvrstvová architektúra:

Táto architektúra pomáha java programu alebo aplikácii priamo komunikovať s databázou. Na komunikáciu s konkrétnou databázou potrebuje ovládač JDBC. Dotaz alebo požiadavka je zasielaná používateľom do databázy a výsledky sú prijímané späť užívateľom. Databáza môže byť prítomná na rovnakom stroji alebo na akomkoľvek vzdialenom počítači pripojenom prostredníctvom siete. Tento prístup sa nazýva architektúra alebo konfigurácia klient-server.

2. Trojstupňová architektúra:

V tomto neexistuje priama komunikácia. Žiadosti sa posielajú do strednej vrstvy, tj HTML prehliadač odošle požiadavku do Java aplikácie, ktorá sa potom ďalej odošle do databázy. Databáza spracuje požiadavku a výsledok odošle späť do strednej vrstvy, ktorá potom komunikuje s používateľom. Zvyšuje výkon a zjednodušuje nasadenie aplikácií.

Komponenty architektúry JDBC

  • Driver Manager: Je to trieda, ktorá obsahuje zoznam všetkých ovládačov. Po prijatí žiadosti o pripojenie sa žiadosť zhoduje s príslušným ovládačom databázy pomocou protokolu nazývaného komunikačný sub-protokol. Na vytvorenie spojenia sa použije ovládač, ktorý sa zhoduje.
  • Ovládač: Je to rozhranie, ktoré riadi komunikáciu s databázovým serverom. Objekty DriverManager sa používajú na vykonávanie komunikácie.
  • Pripojenie: Jedná sa o rozhranie, ktoré obsahuje metódy kontaktovania databázy.
  • Vyhlásenie: Toto rozhranie vytvára objekt na odosielanie dotazov alebo príkazov SQL do databázy.
  • ResultSet: Obsahuje výsledky získané po vykonaní príkazov alebo dotazov SQL.
  • SQLException: Všetky chyby, ktoré sa vyskytnú v databázovej aplikácii, sú riešené touto triedou.

Základný architektonický diagram JDBC je uvedený nižšie s umiestnením všetkých komponentov:

rozhranie

Balík java.sql pozostáva z mnohých rozhraní. Niektoré populárne rozhrania sú uvedené nižšie:

  • Rozhranie ovládačov: Toto rozhranie umožňuje viac ovládačov databázy. Objekty DriverManager sú vytvorené na komunikáciu s databázou. Tieto objekty vytvára program DriverManager.registerDriver ();
  • Rozhranie pripojenia: Rozhranie pripojenia vytvára spojenie, tj reláciu medzi programom java a databázou. Má veľa metód, ako je rollback (), close () atď.
  • Rozhranie príkazov : Toto rozhranie poskytuje metódy na vykonávanie dotazov SQL. Poskytuje výrobné metódy na získanie objektu ResultSet. Niektoré metódy rozhrania príkazov sú executeQuery (), executeUpdate () atď.
  • Prepracované rozhranie rozhrania: Toto rozhranie pomáha, keď je potrebné dotazy SQL implementovať mnohokrát. Prijíma vstupné parametre počas behu programu.
  • Rozhranie CallableStatement: Toto rozhranie sa používa pri prístupe k uloženým procedúram. Tiež akceptuje parametre počas doby chodu.
  • Rozhranie ResultSet: Toto rozhranie pomáha ukladať výsledok vrátený po vykonaní dotazov SQL.

Typy ovládačov JDBC

Existujú štyri typy ovládačov JDBC:

1. Ovládač typu 1 alebo most JDBC-ODBC: Tento ovládač funguje ako most medzi JDBC a ODBC. Konvertuje volania JDBC na volania ODBC a potom pošle požiadavku ovládaču ODBC. Ľahko sa používa, ale čas vykonávania je pomalý.

2. Ovládač typu 2 alebo natívne API čiastočne ovládač Java: Tento ovládač používa volanie rozhrania JNI (Java Native Interface) v natívnom klientskom API špecifickom pre databázu. Je pomerne rýchlejší ako ovládač typu 1, vyžaduje si však natívnu knižnicu a zvyšuje sa aj cena aplikácie.

3. Ovládač typu 3 alebo ovládač sieťového protokolu: Tieto ovládače komunikujú s middlewarovým serverom JDBC pomocou proprietárneho sieťového protokolu. Tento middleware prekladá sieťový protokol na volania špecifické pre databázu. Sú nezávislé od databázy. Môžu prepínať z jednej databázy do druhej, ale kvôli mnohým sieťovým hovorom sú pomalé.

4. Ovládač typu 4 alebo tenký ovládač: Tento ovládač sa nazýva aj čistý ovládač Java, pretože priamo interaguje s databázou. Nevyžaduje sa žiadna natívna knižnica ani middlewarový server. Má lepší výkon ako iné ovládače, ale pomerne pomalý v dôsledku nárastu počtu sieťových hovorov.

záver

Tento článok špecifikuje architektúru JDBC, jej rozhrania a typy ovládačov na komunikáciu alebo interakciu s databázou.

Teraz sa v každom sektore udržujú denné databázy, preto je potrebné ich aktualizovať a je potrebné získavať z nich údaje. Takže pochopenie architektúry by pomohlo porozumieť základným konceptom JDBC.

Odporúčané články

Toto bol sprievodca architektúrou JDBC. Tu sme diskutovali o typoch ovládačov, rozhraní a komponentov architektúry JDBC. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Ako nainštalovať Java 8?
  2. Rozhovorové otázky JDBC
  3. Ako nainštalovať Apache?

Kategórie: