JDBC Giriş: Java Uygulamasını MySQL Veritabanına Bağlamak

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şenGörevi
DriverManagerVeritabanı sürücülerini yönetir ve bağlantıyı kurar.
ConnectionVeritabanı ile kurulan aktif iletişimi temsil eder.
StatementSQL komutlarını veritabanına taşır.
ResultSetSorgudan 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.
 
Geri
Üst