Welcome to My Blog 👋

Java, Spring Framework, Microservices, Docker, Kubernetes, AWS and Others 🚀
Follow Me

JDBC Statement Nesneleri



  November 18, 2018    Labels:,,,,,,,,,,, 


Statement nesneleri ile SQL ifadelerini veritabanına gönderebilir ve çalıştırabiliriz. Bu nesneler ile parametre geçişi de yapabiliriz. Ayrıca bu nesneler bir veritabanında kullanılan Java ve SQL veri türleri arasındaki veri türü farklılıklarını köprülemeye yardımcı olan yöntemleri de tanımlarlar.

Statement Nesneleri
  • Statement: Statik SQL sorgularını çalıştırmak için kullanılır. Dinamik parametre geçişi yoktur. Bir sorgu çok defa çalıştırılmayacaksa kullanılması mantıklıdır.
  • PreparedStatement: Dinamik SQL sorgularını çalıştırmak için kullanılır. Yani sql sorgularımıza parametre geçişi yapabiliriz. Bir sorgu çok defa çalıştırılcaksa kullanılması mantıklıdır. Çünkü Statement nesnesi ile sorgu her çalıştırıldığında derlenirken PreparedStatement nesnesi sorguyu tek bir kez derler.
  • CallableStatement: Veritabanına kaydedilmiş prosedürleri çalıştırmak için kullanılır. Ayrıca dinamik parametreleri kabul eder.

Statement Kullanımı

Bir SQL deyimini yürütmek için bir Statement nesnesini kullanmadan önce, aşağıdaki örnekte olduğu gibi, Connection nesnesinin createStatement() yöntemini kullanarak bir tane oluşturmanız gerekir.

Statement stmt = null;
try {
stmt = conn.createStatement( );
. . .
}
catch (SQLException e) {
. . .
}
finally {
. . .
}

Bir Statement nesnesini oluşturduktan sonra, bunu bir SQL ifadesini yürütmek için üç yürütme yönteminden biriyle kullanabilirsiniz.
  • boolean execute (String SQL): Bir ResultSet nesnesi alınabiliyorsa true, aksi takdirde false değerini döndürür. Dinamik SQL kullanmanız gerektiğinde bu yöntemi kullanılabilir.
  • int executeUpdate (String SQL): SQL ifadesinin yürütülmesinden etkilenen satır sayısını döndürür. Bir INSERT, UPDATE veya DELETE ifadesi gibi etkilenen çok sayıda satır almayı beklediğiniz SQL ifadelerini çalıştırmak için bu yöntemi kullanabiliriz.
  • ResultSet executeQuery (String SQL): Bir ResultSet nesnesi döndürür. Bir SELECT deyiminde olduğu gibi bir sonuç kümesi elde etmeyi beklediğimiz durumlarda kullanabiliriz.
PreparedStatement

PreparedStatement pstmt = null;
try {
String SQL = "Update Employees SET age = ? WHERE id = ?";
pstmt = conn.prepareStatement(SQL);
. . .
}
catch (SQLException e) {
. . .
}
finally {
. . .
}



No comments:

Post a Comment