Java Database Connectivity

Z Wikipedie, otevřené encyklopedie

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

[editovat] Ú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.

[editovat] 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 autentifikace oproti uživatelskému jménu a heslu.

[editovat] 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());
        }
}

[editovat] Podívejte se také na

[editovat] Externí odkazy