logo

Hazırlanan Bildirim arayüzü

PreparadStatement arayüzü, Statement'ın bir alt arayüzüdür. Parametreli sorguyu yürütmek için kullanılır.

java koleksiyonları java

Parametreli sorgu örneğini görelim:

 String sql='insert into emp values(?,?,?)'; 

Gördüğünüz gibi değerler için (?) parametresini geçiyoruz. Değeri, PrettyStatement'ın ayarlayıcı yöntemleri çağrılarak ayarlanacaktır.

Neden ReadydStatement'ı kullanmalısınız?

Performansı artırır : Sorgu yalnızca bir kez derlendiğinden, PrettyStatement arayüzünü kullanırsanız uygulamanın performansı daha hızlı olacaktır.


PreparadStatement örneği nasıl alınır?

Bağlantı arayüzünün hazırStatement() yöntemi, PrettyStatement nesnesini döndürmek için kullanılır. Sözdizimi:

 public PreparedStatement prepareStatement(String query)throws SQLException{} 

PreparadStatement arayüzünün yöntemleri

PreparadStatement arayüzünün önemli yöntemleri aşağıda verilmiştir:

YöntemTanım
public void setInt(int paramIndex, int değer)tamsayı değerini verilen parametre dizinine ayarlar.
public void setString(int paramIndex, String değeri)String değerini verilen parametre dizinine ayarlar.
public void setFloat(int paramIndex, float değeri)float değerini verilen parametre indeksine ayarlar.
public void setDouble(int paramIndex, double değer)double değerini verilen parametre indeksine ayarlar.
public int executiveUpdate()sorguyu yürütür. Oluşturma, bırakma, ekleme, güncelleme, silme vb. işlemler için kullanılır.
public ResultSet executiveQuery()seçme sorgusunu yürütür. ResultSet'in bir örneğini döndürür.

Kaydı ekleyen PrettyStatement arayüzü örneği

Öncelikle aşağıdaki gibi bir tablo oluşturun:

 create table emp(id number(10),name varchar2(50)); 

Şimdi bu tabloya kayıtları aşağıda verilen koda göre ekleyin:

 import java.sql.*; class InsertPrepared{ public static void main(String args[]){ try{ Class.forName('oracle.jdbc.driver.OracleDriver'); Connection con=DriverManager.getConnection('jdbc:oracle:thin:@localhost:1521:xe','system','oracle'); PreparedStatement stmt=con.prepareStatement('insert into Emp values(?,?)'); stmt.setInt(1,101);//1 specifies the first parameter in the query stmt.setString(2,'Ratan'); int i=stmt.executeUpdate(); System.out.println(i+' records inserted'); con.close(); }catch(Exception e){ System.out.println(e);} } } 
bu örneği indir

Kaydı güncelleyen PreparadStatement arayüzü örneği

 PreparedStatement stmt=con.prepareStatement('update emp set name=? where id=?'); stmt.setString(1,'Sonoo');//1 specifies the first parameter in the query i.e. name stmt.setInt(2,101); int i=stmt.executeUpdate(); System.out.println(i+' records updated'); 
bu örneği indir

Kaydı silen PrettyStatement arayüzü örneği

 PreparedStatement stmt=con.prepareStatement('delete from emp where id=?'); stmt.setInt(1,101); int i=stmt.executeUpdate(); System.out.println(i+' records deleted'); 
bu örneği indir

Bir tablonun kayıtlarını alan PrettyStatement arayüzü örneği

 PreparedStatement stmt=con.prepareStatement('select * from emp'); ResultSet rs=stmt.executeQuery(); while(rs.next()){ System.out.println(rs.getInt(1)+' '+rs.getString(2)); } 
bu örneği indir

Kullanıcı n tuşuna basana kadar kayıt eklemek için Hazırlanan İfade örneği

 import java.sql.*; import java.io.*; class RS{ public static void main(String args[])throws Exception{ Class.forName('oracle.jdbc.driver.OracleDriver'); Connection con=DriverManager.getConnection('jdbc:oracle:thin:@localhost:1521:xe','system','oracle'); PreparedStatement ps=con.prepareStatement('insert into emp130 values(?,?,?)'); BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); do{ System.out.println('enter id:'); int id=Integer.parseInt(br.readLine()); System.out.println('enter name:'); String name=br.readLine(); System.out.println('enter salary:'); float salary=Float.parseFloat(br.readLine()); ps.setInt(1,id); ps.setString(2,name); ps.setFloat(3,salary); int i=ps.executeUpdate(); System.out.println(i+' records affected'); System.out.println('Do you want to continue: y/n'); String s=br.readLine(); if(s.startsWith('n')){ break; } }while(true); con.close(); }}