JavaSE’da JDBC Connection ile Veritabanında (Database) Sorgu (Query) : (Create table , İnsert , Update , Delete) İşlemleri
Merhaba arkadaşlar ;
Bu yazımda JavaSE’de JDBC connection ile Tablo oluşturma tabloya veri ekleme , silme ve güncelleme işlemlerini anlatacağım size ..
Veritabanına herhangi bir Sql metni gönderebilmek için Statement nesnesi gereklidir. Statement bir arayüzdür ve Connection arayüzündeki createStatement() yöntemiyle(method) ile oluştururlur.
Kullanımı:
Statement nesnesi ile bir SQL metni çalıştırabilir.Belli bir Sql metnini database’ye gönderir ve eğer varsa sorgulamanın sonucunu dönderir bize. Sorgular iki şekilde çalışır arakdaşlar ya sonuç dönderirler bize yada sadece veritabanına güncellemeyi yapar.
Gelelim bir sql nesnesini nasıl çalıştıracağız bunun için ilk olarak veritabanımızda bir tablo oluşturalım sql sorgumuzla yavaş yavaş veri ekleme silme güncelleme vs. işlemlerini yapalım .
Yukarıdaki kodu biraz açıklayayım ilk önce jdbc bağlantı kurduğumuz class’tan nesnemizi çağırdık ve Connection nesnemize aktardık bir önceki dersten bakabilirsiniz jdbc connection kurduğumuz class’a arkadaşlar .. Sonrasında Statement classimizdan bir nesne oluşturduk ve Connection nesnemizin createStatement(); oluşturduğumuz stmt nesnemize aktardık .. Sql Sorgumuzu yazdık ..
Sorgumuzda Calışanlar isminde bir tablo oluşturmasını ve tablomuzun id , adi , soyadi , adres olarak 4 tane alanının olmasını istedik ve Statement classimizdan aldığımız stmt nesnemizin execute(); yöntemiyle (method) yazdığımız sql sorgumuzun çalışmasını istedik ve databasemizde Calişanlar isminde bir tablomuz oluşmuş bulunmakta ..
JDBC Conneciton ile veritabanına veri eklemek
Gördüğümüz gibi Tablomuz oluşmuş..
Şimdi sırada database’ye veri eklemeye geldi(insert).. Gene bağlantımızı Statementten aldığımız neseneye aktaracagız ve sql sorgumuzu çalıştıracağız .. Aslında iki tür Class çağırıpta veitabanına sql sorgusu göndermek olur . Bu dediğimi biraz açacak olursak Statement nesnesiyle direk yapacagımız işlemleri sql sorgumuza verileri felan girmemizi istiyor . Bir başka Classımız daha var PreparedStatement classi bunda sql sorgumuzda biraz değişikler oluyor ve bazı işlemlerde işimizi daha kolaylaştırıyor . İki classlada örnek yapacağız şimdi ..
Statement Class’ı ile
PreparedStatement Class’ı ile
Statemant nesnemizle normal Sql sorgumuzu çalıştırıyoruz ..
INSERT INTO CALISANLAR (ID, ADI, SOYADI, ADRES)VALUES (2, ‘Ertan’, ‘KILIC’, ‘İstanbul/Turkiye’)
PreparedStatement nesnemizde ise biraz değişiklik oluyor .. aslında kod daha uzun ama bize çoğu yerde kullanım kolaylıkları getiriyor Kod’u inceleyecek olursak
String sqlEkle = “insert into calisanlar values(?,?,?,?)”;
Statement nesnemizde field’lerimize sql sorgusunun içinde giriyorduk ama burada onun yerine soru işaretleri konulmuş . soru işaretlerini birer index miş gibi düşünürsek 1.soru işareti tavlomuzdaki ‘id’ field’imiz anlamına geliyor ..
prstmt.setInt(1 ,3); buradaki 1 indeximizin sayısı 3 ise databeseye gönderdiğimiz int tipindeki id’ miz.
Arasındaki fark dediğim gibi kullanım kolaylığıdır ikiside işimizi görüyor .
JDBC Conneciton ile veritabanındaki veriyi güncellemek (Update) ve Silmek (Delete)
Uzun uzun anlatmak yeriene gene kod parçamızda değişiklik olmuyor sadece SQL sorgumuz değişiyor arkadaşlar .
Güncellemek (Update)
Kodda gördüğümüz gibi arkadaşlar Adi Halil olan çalışanımızın Yaşadığı yer’i değiştirdik
Sql Sorgumuz : Update Calisanlar set adres= ? where adi= ?
Silmek (Delete)
Kodda gördüğümüz gibi arkadaşlar Adi Funda olan çalışanımızı sildik.
Sql Sorgumuz: delete Calisanlar where tcNo= ?
Yararlı olması dileğiyle 😉
Kendinize iyi bakın . Görüşmek Üzere…
Mehmet KILIC