JDBC nedir ?

RMAG news

JDBC (Java Database Connectivity), Java programlama dili ile yazılmış uygulamaların ilişkisel veritabanları ile etkileşimde bulunmasını sağlayan bir API’dir. JDBC, Java uygulamaları ile veritabanları arasında bir köprü görevi görerek SQL sorgularını çalıştırmayı, veritabanı bağlantılarını yönetmeyi ve sonuçları işlemeyi mümkün kılar. JDBC, Java Standard Edition (Java SE) platformunun bir parçasıdır.

JDBC’nin Temel Bileşenleri

JDBC Sürücü (Driver): JDBC sürücüsü, Java uygulaması ile belirli bir veritabanı arasında iletişimi sağlayan yazılımdır. Farklı veritabanları için farklı JDBC sürücüleri bulunmaktadır (örneğin, MySQL, PostgreSQL, Oracle, vb. için farklı sürücüler).

Connection: Veritabanı ile bağlantıyı temsil eder. Bağlantı oluşturmak için gerekli bilgiler (URL, kullanıcı adı, parola) kullanılır.

Statement: SQL sorgularını çalıştırmak için kullanılır. Statement, PreparedStatement ve CallableStatement olmak üzere üç ana türü vardır:

Statement: Basit SQL sorguları için kullanılır.

PreparedStatement: Parametreli SQL sorguları için kullanılır. SQL enjeksiyon saldırılarına karşı daha güvenlidir.

CallableStatement: Saklı prosedürleri çalıştırmak için kullanılır.

ResultSet: SQL sorgularının sonuçlarını temsil eder. Veritabanından dönen veri kümesi bu nesne ile işlenir.

JDBC Kullanarak Veritabanı İşlemleri

Aşağıda, JDBC kullanarak bir veritabanına bağlanma, veri ekleme, veri sorgulama ve bağlantıyı kapatma işlemlerinin nasıl yapıldığını gösteren bir örnek bulunmaktadır.

Gerekli Importlar

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

JDBC Kullanarak Veritabanına Bağlanma ve Veri İşleme

public class JDBCDemo {

// Veritabanı bağlantı bilgileri
static final String DB_URL = “jdbc:mysql://localhost:3306/your_database_name”;
static final String USER = “your_username”;
static final String PASS = “your_password”;

public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;

try {
// JDBC sürücüsünü yükle
Class.forName(“com.mysql.cj.jdbc.Driver”);

// Veritabanına bağlan
System.out.println(“Veritabanına bağlanılıyor…”);
conn = DriverManager.getConnection(DB_URL, USER, PASS);

// Statement oluştur
stmt = conn.createStatement();

// Veri ekleme (INSERT) örneği
String sql = “INSERT INTO Employees (name, age, department) VALUES (‘John Doe’, 30, ‘HR’)”;
stmt.executeUpdate(sql);
System.out.println(“Veri eklendi…”);

// Veri sorgulama (SELECT) örneği
sql = “SELECT id, name, age, department FROM Employees”;
ResultSet rs = stmt.executeQuery(sql);

// Sonuçları işleme
while (rs.next()) {
int id = rs.getInt(“id”);
String name = rs.getString(“name”);
int age = rs.getInt(“age”);
String department = rs.getString(“department”);

// Veriyi ekrana yazdır
System.out.println(“ID: “ + id + “, Name: “ + name + “, Age: “ + age + “, Department: “ + department);
}

// ResultSet’i kapat
rs.close();
} catch (SQLException se) {
// JDBC hatalarını işle
se.printStackTrace();
} catch (Exception e) {
// Genel hataları işle
e.printStackTrace();
} finally {
// Kaynakları kapat
try {
if (stmt != null) stmt.close();
} catch (SQLException se2) {
}
try {
if (conn != null) conn.close();
} catch (SQLException se) {
se.printStackTrace();
}
}
System.out.println(“İşlem tamamlandı…”);
}
}

JDBC Adımları

Sürücüyü Yükle: Class.forName(“com.mysql.cj.jdbc.Driver”);

Bağlantıyı Oluştur: conn = DriverManager.getConnection(DB_URL, USER, PASS);

Statement Oluştur: stmt = conn.createStatement();

SQL Sorgusu Çalıştır: stmt.executeUpdate(sql); veya stmt.executeQuery(sql);

Sonuçları İşle: ResultSet rs = stmt.executeQuery(sql);

Kaynakları Kapat: rs.close();, stmt.close();, conn.close();

Bu temel adımlarla JDBC kullanarak bir veritabanına bağlanabilir, veri ekleyebilir, sorgu çalıştırabilir ve sonuçları işleyebilirsiniz.