Multimediaexpo.cz je již 18 let na českém internetu !!
Java Database Connectivity
Z Multimediaexpo.cz
Java Database Connectivity (známé spíše jako JDBC) je API pro programátory v programovacím jazyku Java, které definuje jednotné rozhraní pro přístup k relačním databázím. JDBC je součástí Javy SE („Standard Edition“) od JDK 1.1. Pro přístup ke konkrétnímu databázovému serveru je potřeba JDBC ovladač, který poskytuje tvůrce databázového serveru.
Obsah |
Úvod
JDBC API vzniklo jako vrstva mezi Java aplikací a vlastní komunikací s databází. Datové typy SQL lze získat z výsledku SQL dotazu jako instance Java tříd a s těmi pracuje aplikace. Naopak JDBC ovladač (driver) dokáže vkládat instance Java tříd do SQL dotazů a správně, v závislosti na zvolené databázi, je uložit, upravit apod. Takto lze vytvořit aplikaci nezávislou na zvoleném databázovém stroji. Nicméně je stále potřeba psát dotazy v SQL - naproti tomu stojí Hibernate.
Přístup k databázi
Identifikace databáze se děje na základě URI, Unified Resource Identifier. Formát tohoto URI je závislý na zvoleném JDBC driveru:
Příklady JDBC URI:
- MySQL: jdbc:mysql://server/jméno_databáze?characterEncoding=UTF-8
- Sybase: jdbc:sybase:Tds:server:port/jméno_databáze
- IBM AS400: jdbc:as400://server/jméno_databáze
- Oracle: jdbc:oracle:thin:@server:port:jméno_databáze
Příklady JDBC driverů:
- MySQL: com.mysql.jdbc.Driver
- Sybase: com.sybase.jdbc3.jdbc.SybDriver
- IBM AS400: com.ibm.as400.access.AS400JDBCDriver
- Oracle: oracle.jdbc.driver.OracleDriver
Samozřejmostí je autentizace uživatelským jménem a heslem.
Příklad
public void connect() throws DriverNotFoundException, ConnectionFailedException { try { Class.forName(jdbcDriver); connection = DriverManager.getConnection(dbURI, user, passwd); } catch(ClassNotFoundException e) { throw new DriverNotFoundException(e.getMessage()); } catch(SQLException e) { throw new ConnectionFailedException(e.getMessage()); } }
Nezapomínejte uzavírat navázaná spojení!
public void disconnect() throws DisconnectFailedException { try { connection.close(); } catch(SQLException e) { throw new DisconnectFailedException(e.getMessage()); } }
Související články
Externí odkazy
Náklady na energie a provoz naší encyklopedie prudce vzrostly. Potřebujeme vaši podporu... Kolik ?? To je na Vás. Náš FIO účet — 2500575897 / 2010 |
---|
Informace o článku.
Článek je převzat z Wikipedie, otevřené encyklopedie, do které přispívají dobrovolníci z celého světa. |