Nano'nun Günlüğü…

Ideallerimi gerceklestirmek icin arastiriyorum, Unutmamak icin yaziyorum!

  • Bulundugunuz Sayfa: 
  • Ana Sayfa
  • Java’da Oracle Baglantilari Ve Uygulamalari…

Java’da Oracle Baglantilari Ve Uygulamalari…

Gönderim Eylül 8th, 2011

Bu makalemde java ile oracle arasinda ki iletisimi saglayabilmesi icin gerekli olan connection komutlarindan bahsedicem. Ve bunlari birer uygulama uzerinde anlaticam.

Konu Basliklarim soyle ;

– Tablolar da Sorgulama

– Parametresiz Kayit Ekleme

– Parametreli Kayit Ekleme

– Kayit Guncelleme

– Stored Procedure ile Kayit Ekleme / Guncelleme

Arayuz olarak java icin NetBeans ve oracle icinde 10g  Express Edition kullaniyorum.

Oncelikle java icin gerekli jar uzantili olan dosyayi programimiza aktarmamiz gerekiyor.

Kutuphanemizin ismi classes12.jar seklindedir. Bunu oracle in web sitesinde bulundan download kismindan kullandiginiz jdk surumunuze ve oracle uygulumaniza gore seceneklerden belirleyerek bilgisayarina indirebilirsiniz.

 

 

 

 

 

 

 

Indirmis oldugunuz Kutuphanenizi netbeans’de olusturmus oldugunu yeni projede Libraries klasorune sag click ile Add Jar/folder lokasyonunu takip ederek classes12.jar’ ini ekleyebilirsiniz.

Daha Sonrasinda Oracle’da uygulama yapabilmeniz icin table’larinizi olusturunuz…

 

 

 

 

 

 

 

 

Elemanlar table’imi olusturduktan hemen sonra icerisine verilerimi giriyorum.

Artik netbeans’da kodlarimizi yazmaya basliyoruz…

Oncelikle baglantimiz icin gerekli olan host, port, kullanici ismi ve pasaport gibi onemli bilgileri java ya tanitiyoruz.

import java.sql.*;
public class Main
{   public static void main(String[] args)
{  Connection connection = null;
try
{
String drivername = “oracle.jdbc.driver.OracleDriver”;
Class.forName(drivername);
String servername = “127.0.0.1”;
String portnumber = “1521”;
String sid = “XE”;
String url = “jdbc:oracle:thin:@”+servername+”:”+portnumber+”:”+sid;
String username = “SYSTEM”;  //kendi sisteminizdeki kullanici adi ve sifreleri girmeyi unutmayiniz.
String password = “hr”;
connection = DriverManager.getConnection(url,username,password);
}
catch (Exception e)
{
e.printStackTrace(); //hatayi ekrana yazdiriyoruz…
}
}
}

Programin ekran ciktisi ;

 

 

Bu sekilde programimizi derledigimiz zaman eger bir hata yoksa simdiye kadar oracle’a baglantimizi dogru bir sekilde gerceklestirecektir. Eger ki hata varsa bunla ilgili hata metinlerini catcch blogundan yakalayip ekrana yazdiracaktir.

Tablolarimizda Sorgulama ;

public class Main
{   public static void main(String[] args)
{
Connection connection = null;
try
{
String drivername = “oracle.jdbc.driver.OracleDriver”;
Class.forName(drivername);
String servername = “127.0.0.1”;
String portnumber = “1521”;
String sid = “XE”;
String url = “jdbc:oracle:thin:@”+servername+”:”+portnumber+”:”+sid;
String username = “SYSTEM”;
String password = “hr”;
connection = DriverManager.getConnection(url,username,password);

Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery(“select * from elemanlar”);

while (rs.next())
{
String sorgu = rs.getString(“AD”)+ ” ” + rs.getString(“SOYAD”) + ” ” + rs.getString(“Departman”);
System.out.println(sorgu);
}

}
catch (Exception e)
{
e.printStackTrace(); //hatayi ekrana yazdiriyoruz…
}
}
}

Kodlari ile birlikte, elemanlar isimli tablomuzdan ad,soyad ve departma alanlarini ekrana yazdirmis oluyoruz…

 

 

 

Parametresiz Kayit Ekleme ;

Sql cumlemizde parametre kullanmadan nasil yazdigimiza bir bakalim…

import java.sql.*;
public class Main
{   public static void main(String[] args)
{  Connection connection = null;
try
{
String drivername = “oracle.jdbc.driver.OracleDriver”;
Class.forName(drivername);
String servername = “127.0.0.1”;
String portnumber = “1521”;
String sid = “XE”;
String url = “jdbc:oracle:thin:@”+servername+”:”+portnumber+”:”+sid;
String username = “SYSTEM”;  //kendi sisteminizdeki kullanici adi ve sifreleri girmeyi unutmayiniz.
String password = “hr”;
connection = DriverManager.getConnection(url,username,password);

Statement insStmt = connection.createStatement();
String sql = “insert into elemanlar(PERSONEL_ID,AD,SOYAD,GOREV,DEPARTMAN) values(3,’liman’,’akcay’,’sistem’,’bilgi islem’)”;

int rowcount = insStmt.executeUpdate(sql);
if(rowcount!=0)
{
System.out.println(“kayit yapildi”);
}
else
{
System.out.println(“kayit yapilamadi”);
}
}
catch (Exception e)
{
e.printStackTrace(); //hatayi ekrana yazdiriyoruz…
}
}
}

Ekran ciktimiz soyledir ;

 

 

 

 

 

 

 

 

 

 

Goruldugu gibi insert into sql cumlecigi ile alanlara tek tek bilgileri girmis olduk…

Parametreli Kayit Ekleme ;

Bu uygulamamizda da tabloyo basit bir for dongusu kullanarak satirlarimiza birseyler yazdilarim…

import java.sql.*;
public class Main
{   public static void main(String[] args)
{  Connection connection = null;
try
{
String drivername = “oracle.jdbc.driver.OracleDriver”;
Class.forName(drivername);
String servername = “127.0.0.1”;
String portnumber = “1521”;
String sid = “XE”;
String url = “jdbc:oracle:thin:@”+servername+”:”+portnumber+”:”+sid;
String username = “SYSTEM”;  //kendi sisteminizdeki kullanici adi ve sifreleri girmeyi unutmayiniz.
String password = “hr”;
connection = DriverManager.getConnection(url,username,password);

String sql = “insert into elemanlar(PERSONEL_ID,AD,SOYAD,GOREV,DEPARTMAN) values(?,?,?,?,?)”;
PreparedStatement pstmt = connection.prepareStatement(sql);
for (int i = 0; i < 3; i++)
{
pstmt.setInt(1, i);
pstmt.setString(2, i + “.ci elemanin adi : ” );
pstmt.setString(3, i + “.ci elamanin soyadi : “);
pstmt.setString(4, i + “.ci elemanin gorevi : ” );
pstmt.setString(5, i + “.ci elemanin departmani : “) ;
pstmt.executeUpdate();
}

}
catch (Exception e)
{
e.printStackTrace(); //hatayi ekrana yazdiriyoruz…
}
}
}

Ekran Ciktilari ;

 

 

 

 

 

 

 

 

 

 

 

Kayit Guncelleme ;

public class Main
{   public static void main(String[] args)
{
Connection connection = null;
try
{
String drivername = “oracle.jdbc.driver.OracleDriver”;
Class.forName(drivername);
String servername = “127.0.0.1”;
String portnumber = “1521”;
String sid = “XE”;
String url = “jdbc:oracle:thin:@”+servername+”:”+portnumber+”:”+sid;
String username = “SYSTEM”;
String password = “hr”;
connection = DriverManager.getConnection(url,username,password);
Statement stmt = connection.createStatement();
String sql = “update elemanlar set AD = ‘nano’ where PERSONEL_ID=72”;
int updatecount = stmt.executeUpdate(sql);
if (updatecount!=0)
{
System.out.println(“kayit guncellendi”);
}
else
{
System.out.println(“kayit guncellenemedi”);
}
}
catch (Exception e)
{
e.printStackTrace(); //hatayi ekrana yazdiracak…
}
}
}

Personel ID’si 72 olan kaydin ismini update komutu ile guncellemis olduk.

Ekran ciktilari asagidaki gibidir ;

 

 

 

 

 

 

 

 

 

 

Stored Procedure ile Kayit Ekleme ;

Bu uygulamamizda oracle’da olusturdugumuz stored procedure’ler ile kayit ekleme ve guncelleme gibi komutlari java’da nasil yazacagimizi gorucez fakat oncelikle oracle’da stored procedure’lerimizi olusturmamiz lazim…

 

 

 

 

 

 

 

 

 

 

 

 

Oracle’in sql command’in da Yazdigimiz bu kodlari oncelikle run ile compile edip sonrasinda da save ile kaydettigimizde java’dan yazacagimiz kodlarla kaydedilmis olan ins_elemanlar stored procedure’une ulasabilicez.

public class Main
{   public static void main(String[] args)
{
Connection connection = null;
try
{
String drivername = “oracle.jdbc.driver.OracleDriver”;
Class.forName(drivername);
String servername = “127.0.0.1”;
String portnumber = “1521”;
String sid = “XE”;
String url = “jdbc:oracle:thin:@”+servername+”:”+portnumber+”:”+sid;
String username = “SYSTEM”;
String password = “hr”;
connection = DriverManager.getConnection(url,username,password);
CallableStatement cs = connection.prepareCall(“{call ins_elemanlar(?,?,?,?,?)}”);
cs.setInt(1, 77);
cs.setString(2, “sevdanur nano”);
cs.setString(3, “genc”);
cs.setString(4, “donanim”);
cs.setString(5, “bilgi islem”);
cs.execute();

}
catch (Exception e)
{
e.printStackTrace(); //hatayi ekrana yazdiracak…
}
}
}

Ekran ciktilarimiz ;

 

 

 

 

 

 

 

 

Stored Procedure ile Kayit Guncelleme ;

Oncelikle oracle’da update komutumuzu yazabilecegimiz bir stored procedure’umuzu olusturuyoruz…

 

 

 

 

 

 

 

 

 

 

 

 

 

Burada dikkat etmemiz gerek onemli nokta ise hem input hemde output islemler de calisabilmemiz icin kullaniciya status degiskeni ile bilgi gonderebilmektir. Eger ki kaydiniz guncellendiyse 1 degerini gonderecektir.

Java’da ki komutlarimizi yazacak olursak ;

public class Main
{   public static void main(String[] args)
{
Connection connection = null;
try
{
String drivername = “oracle.jdbc.driver.OracleDriver”;
Class.forName(drivername);
String servername = “127.0.0.1”;
String portnumber = “1521”;
String sid = “XE”;
String url = “jdbc:oracle:thin:@”+servername+”:”+portnumber+”:”+sid;
String username = “SYSTEM”;
String password = “hr”;
connection = DriverManager.getConnection(url,username,password);

CallableStatement cs = connection.prepareCall(“{call upd_elemanlar(?,?,?,?,?,?)}”);
cs.setInt(1, 3);
cs.setString(2, “liman”);
cs.setString(3, “akcay”);
cs.setString(4, “web tasarimi”);
cs.setString(5, “bilgi islem”);
cs.registerOutParameter(6, Types.INTEGER);
cs.execute();
int gelendeger = cs.getInt(6);
System.out.println(“Sp’den gelen deger ” + gelendeger + ” , kaydimiz guncellenmistir!…”);

}
catch (Exception e)
{
e.printStackTrace(); //hatayi ekrana yazdiracak…
}
}
}

Ekran ciktilarimiz ;

 

 

 

 

 

 

 

 

 

 

Makalemi sona erdirirken genel bir ozet yapacak olursak; Java ve oracle arasindaki connection kodlarinin yani sira sql cumlelerini ve stored procedurlerini de nasil kullanacagimiza dair birer uygulama yapmis olduk…

Etiketler: , , , , , , , , , , , , , ,
Bulundugu Konu Etiketleri Java, Oracle, Sistem, Yazilim |

Lutfen Yorumlarinizi Burdan Ulastiriniz!...

You must be Kullanici Adiniz : to post a comment.

Istatistik

  • 1 Uye
  • 334 Yazi
  • 16 Yorum Var