ÜYE GİRİŞİ  
Kullanıcı adı :
Parola :
 
  Üye Ol!  
 
 
ANASAYFA HABERLER ASP ASP.NET PHP C/C++ C# JAVA ARAMA İLETİŞİM

ASP.NET
  Expression Web ile Site Yapimi
  Web Server Control Yazmak - 2
  Web Server Control Yazmak - 1
  Sql Cache Dependency
  Web Kontrollerini Etkin Kullanmak
  Xslt Kullanımı
  Bir Web Sayfasının Anatomisi
  Client Script Callback
  Login Kontrollerinin Kullanımı

ASP
  ASP Nesneleri
  29 Soruda ASP
  Matematiksel Uygulamalar
  Select Case Yapısı 2
  Fonksiyon(Function) Kullanımı
  IF-ELSE...
  GET Yöntemi ile İşlemler
  Asp de Tarih ve Saat fonksiyonları
  While-wend döngüsü

C Sharp (C#)
  C#'da klasör işlemleri
  C# ile diziyi tersine çevirme
  Çok Kullanılan Kontroller-1
  C# ile Kronometre Uygulaması
  Overloaded Metotların Gücü
  C# ile XMLQuery Örneği
  Rastgele Kod Üretimi
  Kontroller ile Çalışma
  Düzenli İfadeler Nedir?

DUYURULAR

F# Microsoft dil teknolojisinin en yeni üyesi.Common Lisp-Slime-Emacs tarzında etkileşimli,kıvrak,sonuçların anında görülebildiği ve yüksek performanslı bir betik dil olarak özetleyebiliriz bu yeni dili. devamı >>


Türk Telekom'dan yapılan yazılı açıklamada, Telekomünikasyon Kurumu'nun onayladığı yeni tariflerin, internet servis sağlayıcı şirketlerin maliyetlerini önemli oranlarda düşüreceği aktarıldı. devamı >>


Java, MySql Bağlantısı | Asundinay.Com
JAVA İçin Eklenmiş Makale
 Makale Adı  :  Java, MySql Bağlantısı
 Yayın Tarihi :  22.08.2007 22:49:20 Ekleyen :  Kazım Aydın Okunma : 1017

Java ile uğraşılırda, MySql işin içine katılmaz mı? Yeni nesil uygulamalarda uzun zamandır MySql kullanılmakta olan bir veritabanı sistemi. çoğunlukla hızlılığı ve performansı ile dikkat çekiyor. Açıkçası bugüne kadar bu veritabanını hiç kullanmamıştım. çoğunlukla Microsoft Sql Server’ ı veritabanı sistemi olarak kullanmaktayım. Ancak internette olsun, yazılı kaynaklarda olsun, Java programlama dilinin yanında mutlaka MySql’ e yer verilemekte. Bu belkide bir anlamda, pazar stratejilerinin bir sonucu olsa gerek. Nitekim mysql veritabanı sistemini java platformunda kullanabilmek için gerekli tüm altyapılar kolayca sağlanmış. Neyse, politik davaları ve pazarlama stratejilerini bir kenara bırakıp işimin başına dönsem daha iyi olacak sanırım. Nede olsa bugüne bugün uygulamacıyım.

Bu hafta amacım, Java uygulamalarında, MySql tablolarını kullanabilmekti. Tabi öncelikle bana neler gerektiğini tespit etmem gerekiyordu. Elbette başrol oyuncusu olan MySql veritabanı sisteminin kurulması ilk sırada yer almaktaydı. Diğer taraftan, Java uygulamalarımda MySql tablolarına erişebilmemi sağlayacak bir veritabanı sürücü api’ sinede ihtiyacım vardı. Nitekim, java mysql’ e nasıl bağlanacağını bilemezdi. Onun, veritabanlarına bağlanmak için gösterdiği arayüzleri ve bu arayüzlerdeki gerekli metodları yeniden yazacak bir pakete ihtiyacı vardı. Bu düşünceler eşliğinde hemen internette kısa bir araştırma yaptım ve http://dev.mysql.com/downloads/index.html  adresine girdim. Bu adreste MySql ile ilgili aradığım herşey mevcuttu.

Remin büyük hali için tıklayın

MySql için 4.0 verisyonunu indirmeye başladım. Java platformumda geliştireceğim uygulamaların MySql tablolarını kullanabilmesini sağlayacak sürücü api’ si ise, MySql Connector J 3.1 idi. Diğer taraftan, amacım MySql üzerinde sql cümlecikleri ile uğraşmak olmadığı için, Microsoft Sql Server’ daki Enterprise Manager’ a benzer bir arabirimede ihtiyacım vardı. Araştırmamın cevabı, MySql Control Center uygulamasıydı. Elbette MySql’ i kurduktan sonra, sql ifadeleri ile tablolar oluşturabilir, veritabanlarını yönetebilir ve daha pek çok işlemi gerçekleştirebilirdim. Ancak hedefim, bir uygulamacı olarak şu an için tablo oluşturmak gibi işlemlere minimum eforu harcamaktı. Asıl amaç, MySql tablolarını Java uygulamalarında kullanabilmekti. MySql 4.0’ ı yaklaşık olarak 22 megabyte’ lık boyutu ile sistemime indirdim ve kolayca kurdum. Makinemi yeniden başlattığımda, MySql için gerekli windows servisinin otomatik olarak başlatıldığını ve WinMySqlAdmin uygulamasının Tray’ daki ikonunun yeşil ışığının yandığını gördüm. Bu sistem bir yerlerden tanıdık geliyordu. Baş harfi Microsoft Sql Server Service Manager.

Sırada ise, Java platformum ile MySql arasındaki iletişimi koordine edecek ve sağlayacak paketi yüklemek vardı. MySql Connector paketini sisteme kurduktan sonra hemen yardım dosyalarını üstün körü karıştırdım. Aslında tam olarak ne aradığımı bende kestiremiyordum. Derken gözüme CLASSPATH ile başlayan bir paragraf takıldı. Bu paragrafta kısaca, java’ nın bu api’ yi kullanabilmesi için bir takım ayarların yapılası gerektiğinden bahsediliyordu. Yapmam gereken, ilgili jar paketinin bulunduğu klasörü CLASSPATH tanımlamasına eklemekti. Ben paketi D:\mysql-connector-java-3.1.3-beta\mysql-connector-java-3.1.3-beta\ adresine yüklediğim için classpath tanımlamasınıda buna göre yapmam gerekiyordu. Yani sadece jar paketinin olduğu klasör bilgisini Classpath tanımlamasına ekleyecektim.

Tabi Windows XP kullandığım için bu ayarı, My Computer’ e sağ tıklayıp Properties’ den Advanced kısmındaki Environment Variables bölümünden yaptım. Böylece sistemde geliştirdiğim tüm java uygulamaları, MySql sunucusuna bağlanmak için gerekli sürücüyü ve bu sürücünün sağladığı üyeleri kullanabilecekti. Sıra gelmişti o heyecanlı ana. Bakalım, bir java uygulaması içinden, MySql’ e bağlanabileceğim driver’ ı yükleyebilecek miydim? WinMySqlAdmin çalışıyordu. Motorlar hazırdı. Geri sayıma başlamadan önce bir kaç küçük koduda yazmam gerekiyordu elbette. Yoksa roket kalkamadan patlayabilirdi.

import java.sql.DriverManager;

public class SurucuDogrula
{
    public static void main(String[] args)
    {
        try
        {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            System.out.println("SURUCU YUKLENDI...");
        }
        catch (Exception hata)
        {
            System.out.println("SURUCU YUKLENEMEDI..."+hata.getMessage());
        }
    }
}

Uygulamayı derleyip çalıştırdım.

çalışıyordu. Driver başarılı bir şekilde o an çalışan proses için yüklenmişti. Artık daha hızlı adımlarla ilerleyebilirdim. Nede olsa işin en önemli kısmı geride kalmıştı. Artık bana bağlanacağım bir veritabanı ve bu veritabanında yer alacak bir tablo gerekliydi. İşte tam bu sırada aklıma, indirdiğim MySql Control Center programı geldi. Bu programı sisteme kurdum ve ta taaaaa. İşte aradığım arabirim. Artık MySql üzerinde kolayca tablo oluşturabilir ve bu tabloya veriler ekleyebilirdim. MySql kurulduğunda, başlangıç olarak Test isimli bir veritabanınıda sisteme yüklemişti. Şimdi bu veritabanı üzerinde bir tablo oluşturacaktım. Personel isimli bir tablo oluşturdum ve bir kaç alan girdim.

Remin büyük hali için tıklayın

Sonra ise, oluşturduğum tabloya bir kaç satır veri girdim. Herşey Enterprise Manager’ dan o kadar tanıdık geliyorduki bu işlemleri yapmam gerçekten çok kısa sürmüştü. Sonuç olarak artık elimde Personel isimli bir MySql tablosu mevcuttu. üstelik bir kaç satır verisi bilem vardı.

Şimdi Java’ yı tekrardan devreye sokmanın sırası gelmişti. İlk yapmak istediğim tabiki MySql sunucusundaki test isimli veritanına bağlanmak ve Personel tablosundaki verileri ekrana yazdırmaktı. Bunu gerçekleştirebilmek amacıyla uygulama kodlarımı aşağıdaki şekilde geliştirdim.

import java.sql.*;

public class SurucuDogrula
{
    public static void main(String[] args)
    {
        try
        {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            Connection conTest = DriverManager.getConnection("jdbc:mysql://localhost/test");
            Statement komut= conTest.createStatement();
            ResultSet rs = komut.executeQuery("SELECT * FROM Personel Order By ID");
            while(rs.next())
            {
                System.out.println("ID "+rs.getString("ID"));
                System.out.println("ISIM "+rs.getString("AD"));
                System.out.println("SOY ISIM "+rs.getString("SOYAD"));
                System.out.println("E POSTA "+rs.getString("EPOSTA"));
                System.out.println("--------------------------");
            }
            conTest.close();
        }
        catch (Exception hata)
        {
            System.out.println("SURUCU YUKLENEMEDI..."+hata.getMessage());
        }
    }
}

Uygulama kodlarında öncekilerden farklı pek bir şey yoktu aslında. Herşeyden önce en önemli fark, veritabanı sürücüsünün MySql için geliştirilmiş olduğu ve bu nedenlede, Connection nesnesi oluşturulurken buna uygun bağlantı katarının girildiğiydi. Yerel sunucuda bulunan test isimli veritabanına bir bağlantı açmak istediğimden, bağlantı ifadesi jdbc:mysql://localhost/test şeklinde olmalıydı. Sonraki adımlarda, sadece tablodaki verileri çekmek için kullanacağım sql sorgusunu çalıştıracak bir Statement nesnesi oluşturmuş ve sorgu sonuçlarını bir ResultSet kümesine alarak, bu kümedeki satırları while döngüsünde gezmiştim. Alan değerlerini getString("Alan adı") tekniği ile alıyordum. Elbetteki döngünün, veri kümesindeki tüm satırlarda gezmesi için next metodu kullanılıyordu. Herşey bittikten sonrada kaynakları geri iade etmek amacıylada, bağlantı nesnesini kapatıyordum.

Sırada satır ekleme, satır silme ve güncelleme gibi temel işlemler vardı. Bu kez ResultSet’ e ait metodlar yerine sql cümleciklerini kullanmaya karar verdim. Statement sınıfı bu işlemler için, executeUpdate isimli bir metod sunuyordu. Bu metod ile, tablo üzerinde yapılacak güncellemeler, satır ekleme işlemleri ve satır silme işlemleri gerçekleştirilebilmekteydi. Tabloya satır girilmesi ile işleme başladım. Bunun için, try bloğu içerisine aşağıdaki kod satırlarını ekledim.

System.out.println("--------------------------");
int eklenen=komut.executeUpdate("INSERT INTO Personel (AD,SOYAD,EPOSTA) VALUES
(’Deneme’,’Deneme’,’Posta1@posta.com’)");
System.out.println(eklenen+" SATIR EKLENDI...");

İşin tek esprisi, sql cümleciğinin, Statement sınıfının executeUpdate metodu ile çalıştırılmasıydı. Bu metodun geri dönüş değeri ise int tipindendi ve işlem sonucu etkilenen satır sayısını vermekteydi. Uygulamayı tekrardan derleyip çalıştırdığımda başarılı bir şekilde satırın Personel tablosuna eklenmiş olduğunu gördüm.

Sırada güncelleme işlemi vardı. Tek yapmam gereken sql cümleciğini uygun şekilde değiştirmekti. Burada, Personel tablosundaki tüm satırların EPOSTA alanlarının değerlerini değişitiriyordum. Komutun çalışması sonucu bu işlemden etkilenen satır sayısı ise, executeUpdate metodunun sonucu olarak ortama aktarılmaktaydı.

System.out.println("--------------------------");
int eklenen=komut.executeUpdate("UPDATE Personel SET EPOSTA=’admin@admin.com’");
System.out.println(eklenen+" SATIR GUNCELLENDI...");

Silme işlemi de extra bir efor gerektirmemekteydi. Sql diline biraz olsun aşina olduğum için kodda ne tür değişiklik yapmam gerektiğini biliyordum. Burada örnek olarak ID alanı 4 olan satırı tablodan çıkartıyordum.

System.out.println("--------------------------");
int eklenen=komut.executeUpdate("DELETE From Personel WHERE ID=4");
System.out.println(eklenen+" SATIR SILINDI...");

Tüm bu işlemler elbetteki MySql sunucusunda yer alan, Personel tablosunu doğrudan etkilemekteydi. Artık MySql sunucusuna ait tablolarıda kullanabilmekteydim. Veritabanları ile ilgili konular tabikide çok geniş ve kapsamlı. Bu konu ile ilgili olarak yazılmış binlerce sayfalık kitaplar olduğunu, bu kitapları gördüğümü ve onlara korku dolu bakışlarla baktığımı söylemek isterim. Ancak temel olarak yapabileceklerimi bilmek bile son derece güzel. Hiç olmassa şimdilik başımın çaresine bakabilirim. Bakalım kahve kokusunun zihnimde oluşturduğu görüntüler, beni başka hangi konulara sürükleyecek.


 

 

 


Kaynak : csharpnedir.com


 

Java İçin Eklenmiş Tüm Makaleler
Java İçin En Son Eklenen 5 Makale
 Makale Adı  :  Java ile Histogram Eşitleme
 Yayın Tarihi :  22.08.2007 23:24:42 Ekleyen :  Kazım Aydın Makaleyi Oku  
 Makale Adı  :  JAVA İçinde Thread Kullanımı
 Yayın Tarihi :  22.08.2007 23:23:47 Ekleyen :  Kazım Aydın Makaleyi Oku  
 Makale Adı  :  Serialization İşlemleri 2
 Yayın Tarihi :  22.08.2007 23:23:08 Ekleyen :  Kazım Aydın Makaleyi Oku  
 Makale Adı  :  Serialization İşlemleri
 Yayın Tarihi :  22.08.2007 23:20:48 Ekleyen :  Kazım Aydın Makaleyi Oku  
 Makale Adı  :  İlk Bakışta JSP
 Yayın Tarihi :  22.08.2007 23:19:53 Ekleyen :  Kazım Aydın Makaleyi Oku  

C/C++
  C ögreniyorum -8-
  C ögreniyorum -7-
  C ögreniyorum -6-
  C ögreniyorum -5-
  C ögreniyorum -4-
  C ögreniyorum -3-
  C ögreniyorum -2-
  C ögreniyorum -1-
  İlk C++ Programımız

JAVA
  Java ile Histogram Eşitleme
  JAVA İçinde Thread Kullanımı
  Serialization İşlemleri 2
  Serialization İşlemleri
  İlk Bakışta JSP
  Servletler ile Web Sayfaları
  Java ile Grafik Çizim
  Java, MySql Bağlantısı
  JBuilder ile Database

PHP
  php dersleri -1-
  php/access ile silme işlemi
  php ile access'e bağlanma - 2
  php ile access'e bağlanma - 1
  Döngü ve Diziler - BÖLÜM 5
  Döngü ve Diziler - BÖLÜM 4
  Döngü ve Diziler - BÖLÜM 3
  Döngü ve Diziler - BÖLÜM 2
  Döngü ve Diziler - BÖLÜM 1

İSTATİSTİKLER
  Toplam ziyaret :  24725
  Toplam üye sayısı :  1081
  Asp makale sayısı :  20
  Asp.Net makale sayısı :  54
  Php makale sayısı :  26
  C/C++ makale sayısı :  51
  C# makale sayısı :  29
  Java makale sayısı :  33
  Toplam makale saıysı :  213
Copyright asundinay® 2007 Her Hakki Saklidir
Tasarim & Programlama asundinay®