Úvod do architektury JDBC

Java Database Connectivity (JDBC) je API (Application Program Interface) nebo rozhraní nezávislé na platformě, které pomáhá propojovat java programy s různými databázemi, jako jsou Oracle, My SQL, MS Access a SQL Server. Poskytuje způsoby dotazování a aktualizace databáze pomocí aktualizačních příkazů jazyka SQL (Structured Query Language), jako jsou CREATE, DELETE, INSERT a UPDATE a dotazů, jako je SELECT. Je téměř podobný ODBC (Open Database Connectivity), kterou poskytla společnost Microsoft.

Chcete-li propojit program nebo aplikaci java s databází, je třeba dodržovat pět kroků:

1. Načíst ovladač: Ovladač pomáhá navázat spojení s databází, takže ovladač musí být načten jednou v programu. To lze provést dvěma způsoby:

  • Class.forName (): Tímto se soubor třídy ovladače načte do paměti během doby běhu. Není třeba vytvářet nový objekt. Například:

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

  • DriverManager.registerDriver (): Zde je DriverManager zabudovanou třídou Java, kde je registr statickým členem. Pomocí tohoto je konstruktor třídy ovladačů volán během kompilace. V tomto novém objektu je vytvořen. Například:

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

2. Vytváření připojení: Po načtení ovladače je připojení nastaveno. Objekt připojení používá k nastavení připojení uživatelské jméno, heslo a adresu URL. URL má předdefinovaný formát, který obsahuje název databáze, použitý ovladač, IP adresu, kde je databáze uložena, číslo portu a poskytovatele služeb. Připojení lze nastavit příkazem:

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

3. Vytvoření příkazu: Po navázání spojení může uživatel interagovat s databází. Rozhraní, jako je příkaz JDBC, PreparedStatement, CallableStatement, poskytuje metody, které umožňují uživateli odesílat příkazy SQL a získávat data z databáze. Příkaz použitý k vytvoření příkazu je;

Statement stmt = con.createStatement();

4. Provádění dotazu: SQL dotaz se provádí pro interakci s databází. Dotaz může být pro aktualizaci / vložení do databáze nebo pro načtení dat. Rozhraní příkazu poskytuje dvě metody, tj. Metodu executeQuery () pro provádění dotazů pro načítání dat, zatímco metoda executeUpdate () pro provádění dotazů pro aktualizaci nebo vkládání. Například:

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

5. Ukončení připojení: Po provedení našeho dotazu byl datový uživatel, který chtěl aktualizovat nebo načíst, provedeno, takže nyní je čas ukončit navázané připojení. Rozhraní připojení poskytuje metodu close () pro uzavření připojení. Například:

con.close();

Architektura JDBC

JDBC podporuje dva typy modelů zpracování pro přístup k databázi, tj. Dvouvrstvý a třívrstvý.

1. Dvouvrstvá architektura:

Tato architektura pomáhá java programu nebo aplikaci přímo komunikovat s databází. Pro komunikaci s konkrétní databází potřebuje ovladač JDBC. Uživatel pošle dotaz nebo požadavek do databáze a výsledky jsou obdrženy zpět uživatelem. Databáze může být na stejném stroji nebo na jakémkoli vzdáleném stroji připojeném přes síť. Tento přístup se nazývá architektura nebo konfigurace klient-server.

2. Třístupňová architektura:

V tomto neexistuje přímá komunikace. Žádosti jsou zasílány do střední vrstvy, tj. HTML prohlížeč odešle žádost do java aplikace, která je dále poslána do databáze. Databáze zpracovává požadavek a odešle výsledek zpět do střední vrstvy, která pak komunikuje s uživatelem. Zvyšuje výkon a zjednodušuje nasazení aplikace.

Součásti architektury JDBC

  • Driver Manager: Jedná se o třídu, která obsahuje seznam všech ovladačů. Po přijetí žádosti o připojení se žádost shoduje s příslušným ovladačem databáze pomocí protokolu nazývaného komunikační sub-protokol. Ovladač, který odpovídá, se používá k navázání spojení.
  • Ovladač: Jedná se o rozhraní, které řídí komunikaci s databázovým serverem. K provedení komunikace se používají objekty DriverManager.
  • Připojení: Jedná se o rozhraní, které obsahuje metody kontaktování databáze.
  • Příkaz: Toto rozhraní vytváří objekt pro odesílání dotazů nebo příkazů SQL do databáze.
  • ResultSet: Obsahuje výsledky získané po provedení příkazů nebo dotazů SQL.
  • SQLException: Všechny chyby, které se vyskytnou v databázové aplikaci, jsou řešeny touto třídou.

Základní architektonický diagram JDBC je uveden níže s umístěním všech komponent:

Rozhraní

Balíček java.sql se skládá z mnoha rozhraní. Níže jsou uvedena některá oblíbená rozhraní:

  • Rozhraní ovladačů: Toto rozhraní umožňuje více ovladačů databází. Objekty DriverManager jsou vytvořeny pro komunikaci s databází. Tyto objekty jsou vytvářeny DriverManager.registerDriver ();
  • Rozhraní pro připojení: Rozhraní pro připojení vytváří spojení, tj. Relaci mezi programem java a databází. Má mnoho metod, jako je rollback (), close () atd.
  • Rozhraní příkazu: Toto rozhraní poskytuje metody pro provádění dotazů SQL. Poskytuje tovární metody pro získání objektu ResultSet. Některé metody rozhraní příkazů jsou executeQuery (), executeUpdate () atd.
  • PreparedStatement Interface: Toto rozhraní pomáhá, když je třeba dotazy SQL implementovat mnohokrát. Přijímá vstupní parametry během běhu.
  • Rozhraní CallableStatement: Toto rozhraní se používá, když mají být přístupné uložené procedury. Během běhu přijímá také parametry.
  • Rozhraní ResultSet: Toto rozhraní pomáhá ukládat výsledek vrácený po provedení dotazů SQL.

Typy ovladačů JDBC

Existují čtyři typy ovladačů JDBC:

1. Ovladač typu 1 nebo most JDBC-ODBC: Tento ovladač funguje jako most mezi JDBC a ODBC. Převádí volání JDBC na volání ODBC a poté odešle požadavek ovladači ODBC. Snadno se používá, ale doba provádění je pomalá.

2. Ovladač typu 2 nebo nativní API částečně ovladač Java: Tento ovladač používá volání JNI (Java Native Interface) na nativní klientské rozhraní API specifické pro databázi. Je poměrně rychlejší než ovladač typu 1, vyžaduje však nativní knihovnu a zvyšuje se také cena aplikace.

3. Ovladač typu 3 nebo ovladač síťového protokolu: Tyto ovladače komunikují s prostředním serverem JDBC pomocí proprietárního síťového protokolu. Tento middleware převádí síťový protokol na volání specifická pro databázi. Jsou nezávislé na databázi. Mohou přepínat z jedné databáze do druhé, ale kvůli mnoha síťovým hovorům jsou pomalá.

4. Ovladač typu 4 nebo tenký: Tento ovladač se také nazývá čistý ovladač Java, protože přímo interaguje s databází. Nevyžaduje žádnou nativní knihovnu ani middlewarový server. Má lepší výkon než ostatní ovladače, ale poměrně pomalý v důsledku nárůstu počtu síťových volání.

Závěr

Tento článek určuje architekturu JDBC, její rozhraní a typy ovladačů pro komunikaci nebo interakci s databází.

Nyní jsou v každém sektoru udržovány denní databáze, a proto je nutné je aktualizovat a je nutné z nich získat data. Takže pochopení architektury by pomohlo porozumět základním konceptům JDBC.

Doporučené články

Toto byl průvodce architekturou JDBC. Zde jsme diskutovali o typech ovladačů, rozhraní a komponent JDBC Architecture. Další informace naleznete také v dalších navrhovaných článcích -

  1. Jak nainstalovat Java 8?
  2. JDBC Interview Otázky
  3. Jak nainstalovat Apache?

Kategorie: