JDBC Statement Nesneleri (Statements PreparedStatement)

Jd_vaJDBC Dersleri‘ne devam ediyoruz. Bu dersimizde JDBC Statement Nesnelerini inceleyeceğiz. (Bu ders önceki derslerimiz ile bağlantılıdır.)

JDBC Derslerinin tüm amacı veritabanımıza bağlanıp, iletişime geçerek işlemler yaptırmak. Şimdi iletişime geçip işlemler yapma zamanı. Sql ifadelerini programımız üzerinden RMDBS’e iletip cevap alabileceğiz. Bu işlemler Statement, PreparedStatement nesneleri ile olmaktadır. Bu üç nesnenin kullanım şekillleri ve performans farklılıkları olmaktadır. Bu nesneleri beraber inceleyelim ve nasıl bir yapıda olduklarına bakalım.

Nesneleri incelemeden önce JDBC ile Veritabanına bağlanalım.

 1) Statement Nesnesi

Temel SQL ifadelerini çalıştırır. Bu temel ifadelerden kastım Select, Update, Delete gibi ifadelerdir. Statement Nesnesi sayesinde SQL ifadesinin bizlere değer döndürme özelliği bulunmaktadır. Statement nesnesini kullanmak için bir değişken oluşturacağız ardından bir de Resulset nesnesini kullanmak için bir değişken kullanacağız bu değişken bizim Sql sorgumuzun sonucunu döndüren değer olacak (gerektiğinde). Statement nesnemizin içine Sql ifadesi yazadıktan sonra bu ifadeyi exequteUpdate parametresi ile göndereceğiz.

 2) PreparedStatement Nesnesi

PreparedStatement ile SQL ifadelerimizi veritabanımızda önceden derlenmek üzere gönderebileceğimiz ve her defasında derlenmiş hale değer göndererek tekrar tekrar kullanabileceğimiz bir yapıdır. Statement nesnesinde programımız üzerinde ifade derlenip veritabanımız sadece sorgulama işlemini gerçekleştirmekte idi. PreparedStatement’te ifadeler parametre ile yollanmaktadır. Veri gönderirken bu yöntemi seçmek bize avantaj sağlamaktadır. Önceden derlenme sayesinde bize hız ve düşük kaynak yönetimi sağlamaktadır.

Kullanmı ise şu şekilde olmaktadır.

 Aynı kayıt işlemini Statement ile de yapmıştık. Kodları inceleyecek olursanız farkı görebilirsiniz. Yukarıda da anlattığım gib verileri önceden derlenmiş olan prestatment’a verilerimizi tekrar tekrar göndererek işlemleri daha rahat yapmamız mümkün olmaktadır.

Sql’de ki tablolarımızın veritiplerine göre preparedstatement ile bilgileri gönderirken “Set” işlemide tablolarımızdaki veritipi ile uyum sağlaması gerekmektedir. Bunu setInt, setString ve ya setDouble gibi veri tiplerini kullanarak uyumluluk sağlamamız gerekmektedir.

1 comment

  1. Pingback: Anonim

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir