crazy_coder
Moderatör
- Katılım
- 20 Şub 2026
- Mesajlar
- 204
- Tepkime puanı
- 0
- Puanları
- 16
JDBC: Java ve Veritabanı Arasındaki Köprü
1. Hazırlık: MySQL Driver (Connector/J)
Java, veritabanıyla konuşabilmek için bir "tercümana" ihtiyaç duyar. Bu tercümana Driver denir.
Maven Kullanıyorsanız: pom.xml dosyanıza mysql-connector-j bağımlılığını ekleyin.
Manuel: MySQL'in resmi sitesinden .jar dosyasını indirip projenizin Library kısmına ekleyin.
2. Adım Adım Bağlantı Kurma
JDBC ile veritabanı işlemleri 4 ana adımdan oluşur:
Adım 1: Bağlantı Bilgilerini Hazırlayın
Veritabanınızın adresini (URL), kullanıcı adını ve şifresini belirleyin.
Java:
String url = "jdbc:mysql://localhost:3306/okul_veritabani";
String user = "root";
String password = "sifre123";
Adım 2: Bağlantıyı Başlatın (Connection)
DriverManager sınıfını kullanarak veritabanına kapıyı açın. Modern Java'da (Try-with-resources kullanarak) bağlantının otomatik kapanmasını sağlayabiliriz:
Java:
try (Connection conn = DriverManager.getConnection(url, user, password)) {
if (conn != null) {
System.out.println("Veritabanına başarıyla bağlandık!");
}
} catch (SQLException e) {
System.out.println("Bağlantı hatası: " + e.getMessage());
}
3. Sorgu Çalıştırma: Statement vs PreparedStatement
Veritabanına komut göndermek için iki yolunuz var:
Statement: Basit, parametre almayan sorgular için.
PreparedStatement (Önerilen): Parametreli sorgular için kullanılır ve SQL Injection saldırılarına karşı koruma sağlar.
Java:
String sql = "INSERT INTO ogrenciler (isim, soyisim) VALUES (?, ?)";
try (PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setString(1, "Ahmet");
pstmt.setString(2, "Yılmaz");
pstmt.executeUpdate(); // Veriyi kaydeder
}
4. Verileri Okuma: ResultSet
Sorgu sonucunda dönen veriler bir ResultSet içinde tutulur. Bu yapıyı bir tablo satırları arasında gezen imleç gibi düşünebilirsiniz.
Java:
String sorgu = "SELECT * FROM ogrenciler";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sorgu);
while (rs.next()) {
System.out.println("Ad: " + rs.getString("isim") + " - ID: " + rs.getInt("id"));
}
JDBC İşlem Akışı Özeti
| Bileşen | Görevi |
|---|---|
| DriverManager | Veritabanı sürücülerini yönetir ve bağlantıyı kurar. |
| Connection | Veritabanı ile kurulan aktif iletişimi temsil eder. |
| Statement | SQL komutlarını veritabanına taşır. |
| ResultSet | Sorgudan dönen verileri satır satır saklar. |
Sonuç
JDBC, Java'nın veritabanı dünyasına açılan kapısıdır. Günümüzde Hibernate veya Spring Data JPA gibi daha gelişmiş yapılar (ORM) kullanılsa da, tüm bu teknolojiler arka planda JDBC üzerine inşa edilmiştir. Temelini bilmek, performans sorunlarını çözmek için hayati önem taşır.