notatki_java_04.pdf

(219 KB) Pobierz
694685101 UNPDF
Java Database Connectivity
Java Database Connectivity (JDBC) to specyfikacja określająca zbiór klas i
interfejsów napisanych w Javie, które mogą być wykorzystane przez programistów
tworzących oprogramowanie korzystające z baz danych. Zbiór klas i interfejsów
opisanych przez JDBC jest dostarczany przez producentów baz danych.
Jedną z ważniejszych zalet takiego rozwiązania jest ukrycie przed programistą
kwestii technicznych dotyczących komunikacji z bazą danych. Dzięki temu ten
sam program napisany w Javie może współpracować z różnymi systemami baz
danych (np. Oracle, Sybase, IBM DB2). Wystarczy podmienić odpowiednie
biblioteki implementujące JDBC.
Źródło informacji:
1
Bazy danych w Javie: przykład MySQL
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
// Nie importujemy pakietu com.mysql.jdbc.*
public class TestDriver {
public static void main(String[] args) {
try {
// newInstance() jest wywoływane na wszelki wypadek
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost/test?user=monty&password=");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(
"SELECT * FROM tabela");
while(rs.next()){
System.out.println(rs.getString("kolumna1"));
}
2
Bazy danych w Javie: przykład MySQL
} catch (Exception ex) {
// obsluga bledow
}finally{
// zwalnianie zasobow
if (rs != null) {
try {
rs.close();
} catch (SQLException sqlEx) { // ignore }
rs = null;
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException sqlEx) { // ignore }
stmt = null;
}
}
}
}
Źródło informacji: http://www.mysql.com/products/connector/j/ .
3
JDBC a inne rozwiązania
ODBC (Open DataBase Connectivity) – najpopularniejszy mechanizm dostępu do
relacyjnych baz danych. Dlaczego zatem nie używać ODBC w Javie?
1. ODBC używa interfejsu języka C. Wywołania z Javy kodu natywnego w C
powoduje wiele problemów np. bezpieczeństwo, efektywność, przenośnoścć.
2. Bezpośrednie przepisanie interfejsu ODBC w Javie byłoby nieefektywne.
3. ODBC jest stosunkowo trudne w opanowaniu, ponieważ trzeba ustawiać wiele
parametrów nawet przy wywołaniu prostych zapytań.
4. Driver ODBC musi być ręcznie instalowany i konfigurowany na każdym
komputerze klienckim.
Podobne problemy wykluczają stosowanie innych technologii: OLE (Object
Linking and Embedding) DB, ADO (ActiveX Data Objects), and RDS (Remote
Data Service). Niedawno Microsoft wprowadził mechanizm UDA (Universal Data
Access), który jest dosyć podobny do JDBC.
4
Model dwu- i trzywarstwowy komunikacji
klient - GUI
klient
aplikacja, applet
lub
przeglądarka WWW
aplikacja
JDBC
HTTP, RMI, CORBA
lub inne wywołanie
protokół
bazy danych
serwer aplikacji
logika
biznesowa
serwer
baza danych
JDBC
serwer
protokół
bazy danych
baza danych
5
694685101.001.png 694685101.002.png
 
Zgłoś jeśli naruszono regulamin