V sobotu 2. listopadu proběhla mohutná oslava naší plnoletosti !!
Multimediaexpo.cz je již 18 let na českém internetu !!

Java Database Connectivity

Z Multimediaexpo.cz

(Rozdíly mezi verzemi)

Verze z 21. 10. 2010, 09:17

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