Java MySQL Veritabanı İşlemleri yazısı ile insert, update, delete ve select işlemlerini yapabilirsiniz.Daha önce yazdığım yazılarda C# ile veritabanı bağlantısı ile ilgili yazılar yazmıştım. Java Örneklerine başlamışken basit bir Java veritabanı bağlantısı oluşturma örneği yapmazsak olmazdı. Bu Java yazısında kayıt ekleme, silme, güncelleme ve listeleme ile ilgili basit bir örnek paylaştım.
Java MySQL Veritabanı Bağlantısı ile kayıt ekleme yada kayıtları güncelleme işlemi yaparken Türkçe karakter sorunu yaşamamak için de yazıda gerekli Türkçe karakter dilini kullandım. Veritabanı tarafında da karakter setini UTF-8 turkish_ci seçtim.
Java ile Veritabanı işlemleri için gerekli basit örneği yazmadan önce aşağıdaki gibi veritabanı oluşturup projeye dahil ediyoruz. MySQL veritabanı bağlantısı için gerekli Connector kütüphanesi Netbeans ve Eclipse ile geliyor fakat olmaması ihtimaline karşı download bağlantısına tıklayarak kütüphaneyi indirebilirsiniz.
Örnek veritabanı için aşağıdaki sorguyu kullanacağım.
1 2 3 4 5 6 7 |
CREATE TABLE `ogrenci` ( `ogrno` int(11) NOT NULL, `ograd` varchar(50) COLLATE utf8_turkish_ci NOT NULL, `ogrsoyad` varchar(50) COLLATE utf8_turkish_ci NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci; |
Netbeans yada eclipse ile Library’ye MySQL driver’ı dahil ediyoruz.
Java Veritabanı İşlemleri
Kütüphaneyi ekleme ve veritabanı oluşturma işi bittikten sonra aşağıdaki gibi kodlarımızı yazmaya başlıyoruz. Sayfa sonunda tüm kodlar verilmiştir.
Çalışmada kullanılan kütüphaneler
1 2 3 4 5 6 7 |
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.Scanner; |
Adım 1: main metodu içini ve con nesnesini aşağıdaki gibi oluşturuyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
static Connection con; public static void main(String[] args) { try{ Class.forName("com.mysql.jdbc.Driver"); con=DriverManager.getConnection("jdbc:mysql://localhost:3306/kutuphane","root",""); }catch(Exception e){ System.out.println(e);} Scanner scan= new Scanner(System.in,"iso-8859-9"); int secim; while(true) { System.out.println("*************"); System.out.println("1.Listele"); System.out.println("2.Ekle"); System.out.println("3.Güncelle"); System.out.println("4.Sil"); System.out.println("5.Çıkış"); System.out.print("Seçiminiz:"); secim=scan.nextInt(); System.out.println("*************"); if(secim==1) Listele(); if(secim==2) Ekle(); if(secim==3) Guncelle(); if(secim==4) Sil(); if(secim==5) { try{ con.close(); }catch(Exception e){ System.out.println(e);} break; } } } |
Adım 2: Öğrenci tablosundaki kayıtları listelemek için Listele metodunu aşağıdaki gibi oluşturuyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
public static void Listele() { try{ Statement stmt=con.createStatement(); ResultSet rs=stmt.executeQuery("select * from ogrenci"); while(rs.next()) System.out.println(rs.getInt(1)+" "+rs.getString(2)+" "+rs.getString(3)); }catch(Exception e){ System.out.println(e);} } |
Adım 3: Öğrenci tablosuna kayıt eklemek için Ekle metodunu aşağıdaki gibi oluşturuyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
public static void Ekle() { Scanner scan= new Scanner(System.in,"iso-8859-9"); System.out.print("Yeni Öğrenci No :"); int yenino = scan.nextInt(); System.out.print("Yeni Öğrenci Adı :"); String ad=scan.next(); System.out.print("Yeni Öğrenci Soyadı :"); String soyad=scan.next(); try{ Statement stmt=con.createStatement(); String sorgu=String.format("insert into ogrenci values( %d, '%s','%s')", yenino,ad,soyad); int ekleme = stmt.executeUpdate(sorgu); System.out.println("Kayıt Eklendi"); }catch(Exception e){ System.out.println(e);} } |
Adım 4: Öğrenci tablosundaki kayıtları güncellemek için Guncelle metodunu aşağıdaki gibi oluşturuyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
public static void Guncelle() { Scanner scan= new Scanner(System.in,"iso-8859-9"); try{ Listele(); System.out.print("Öğrenci Numarasını Girin:"); int eskino=scan.nextInt(); System.out.print("Yeni Öğrenci No :"); int yenino = scan.nextInt(); System.out.print("Yeni Öğrenci Adı :"); String ad=scan.next(); System.out.print("Yeni Öğrenci Soyadı :"); String soyad=scan.next(); String sorgu=String.format("update ogrenci set ogrno=%d, ograd='%s',ogrsoyad='%s' where ogrno=%d ", yenino,ad,soyad,eskino) ; Statement stmt=con.createStatement(); int guncelleme = stmt.executeUpdate(sorgu); System.out.println("Kayıtlar Güncellendi"); }catch(Exception e){ System.out.println(e);} } |
Adım 5: Öğrenci tablosundaki kayıtları silmek için Sil metodunu aşağıdaki gibi oluşturuyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
public static void Sil() { Scanner scan= new Scanner(System.in,"iso-8859-9"); try{ Listele(); System.out.print("Öğrenci Numarasını Girin:"); int eskino=scan.nextInt(); String sorgu=String.format("delete from ogrenci where ogrno=%d",eskino); Statement stmt=con.createStatement(); int silindi = stmt.executeUpdate(sorgu); System.out.println("Kayıtlar Silindi"); }catch(Exception e){ System.out.println(e);} } |
Tüm Kodlar:Java Veritabanı İşlemleri
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.Scanner; public class JavaOrnekleri { static Connection con; public static void main(String[] args) { try{ Class.forName("com.mysql.jdbc.Driver"); con=DriverManager.getConnection("jdbc:mysql://localhost:3306/kutuphane","root",""); }catch(Exception e){ System.out.println(e);} Scanner scan= new Scanner(System.in,"iso-8859-9"); int secim; while(true) { System.out.println("*************"); System.out.println("1.Listele"); System.out.println("2.Ekle"); System.out.println("3.Güncelle"); System.out.println("4.Sil"); System.out.println("5.Çıkış"); System.out.print("Seçiminiz:"); secim=scan.nextInt(); System.out.println("*************"); if(secim==1) Listele(); if(secim==2) Ekle(); if(secim==3) Guncelle(); if(secim==4) Sil(); if(secim==5) { try{ con.close(); }catch(Exception e){ System.out.println(e);} break; } } } public static void Listele() { try{ Statement stmt=con.createStatement(); ResultSet rs=stmt.executeQuery("select * from ogrenci"); while(rs.next()) System.out.println(rs.getInt(1)+" "+rs.getString(2)+" "+rs.getString(3)); }catch(Exception e){ System.out.println(e);} } public static void Ekle() { Scanner scan= new Scanner(System.in,"iso-8859-9"); System.out.print("Yeni Öğrenci No :"); int yenino = scan.nextInt(); System.out.print("Yeni Öğrenci Adı :"); String ad=scan.next(); System.out.print("Yeni Öğrenci Soyadı :"); String soyad=scan.next(); try{ Statement stmt=con.createStatement(); String sorgu=String.format("insert into ogrenci values( %d, '%s','%s')", yenino,ad,soyad); int ekleme = stmt.executeUpdate(sorgu); System.out.println("Kayıt Eklendi"); }catch(Exception e){ System.out.println(e);} } public static void Guncelle() { Scanner scan= new Scanner(System.in,"iso-8859-9"); try{ Listele(); System.out.print("Öğrenci Numarasını Girin:"); int eskino=scan.nextInt(); System.out.print("Yeni Öğrenci No :"); int yenino = scan.nextInt(); System.out.print("Yeni Öğrenci Adı :"); String ad=scan.next(); System.out.print("Yeni Öğrenci Soyadı :"); String soyad=scan.next(); String sorgu=String.format("update ogrenci set ogrno=%d, ograd='%s',ogrsoyad='%s' where ogrno=%d ", yenino,ad,soyad,eskino) ; Statement stmt=con.createStatement(); int guncelleme = stmt.executeUpdate(sorgu); System.out.println("Kayıtlar Güncellendi"); }catch(Exception e){ System.out.println(e);} } public static void Sil() { Scanner scan= new Scanner(System.in,"iso-8859-9"); try{ Listele(); System.out.print("Öğrenci Numarasını Girin:"); int eskino=scan.nextInt(); String sorgu=String.format("delete from ogrenci where ogrno=%d",eskino); Statement stmt=con.createStatement(); int silindi = stmt.executeUpdate(sorgu); System.out.println("Kayıtlar Silindi"); }catch(Exception e){ System.out.println(e);} } } |
Yukarıdaki yazdığım gibi Java ile basit bir veritabanı bağlantısı örneği ile kayıtlar üzerinde temel veritabanı işlemlerini nasıl yapacağımızı gösterdim.
Çıktı: