[Nasıl] Java-Mysql Bağlantı Kurma

Başlatan karboran, 17 Ekim 2012 - 11:09:22

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

karboran

http://yusufduzgun.com/2012/08/07/linux-java-mysql-baglanti-kurma/

Öğrendik anlatalım bari, paylaşmak güzeldir.

Gereksinimler: NetBeans, Mysql, Mysql Connector/j

Not: Temel düzeyde java bilenlere yönelik yazılmıştır

Mysql nedir > http://tr.wikipedia.org/wiki/MySQL

Veritabanı nedir > http://tr.wikipedia.org/wiki/Veritaban%C4%B1

Bunları ne yapacağız ? Yazdığımız programda veri ekleme alma kaydetme gibi işlemlerimizi yapacağız adı üstünde Veritabanı, bu iş için kullandığımız aracın adı ise Mysql freeware ücretsiz oldugu ve her sistemde çalıştığı için birçok devoloperin geliştiricinin tercihidir.

Kurulum

    Mysql için, Ubuntu tabanlı bir dağıtım kullanıyorsanız uç birimden
sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql
    komutu ile Mysql i rahatlıkla kurabilirsiniz, ubuntu kullanmıyorsanız ubuntu kaynaklarını source depoya  ekleyip aynı komutla
    işinizi görebilir veya, http://www.mysql.com/downloads/ buradan tar dosyasını indirip kurabilirsiniz
    Not: kurulumu yaparken şifre isteyecek  ve bunu kullanacağız ona göre girin
    NetBeans için, Ubuntu tabanlı bir dağıtım kullanıyorsanız yine uç birimden
    sudo apt-get install netbeans komutu ile kurabilirsiniz , ubuntu kullanmıyorsanız veya güncel sürümü yüklemek istiyorsanız
    ubuntu forum da paylaştığım yazıyı takip etmelisiniz http://forum.ubuntu-tr.net/index.php?topic=30382.0
    JConnector için, Mysql ve Netbeans kurduktan sonra, http://www.mysql.com/downloads/connector/j/ buradan Connector/J yi indiriyoruz ve uç birimden [ "ls" > bulundugu dizini listeler "cd x" > x dizinine gider "tar xvf dosyaadi" > dosyayı çıkarır ]  komutlarını kullanarak  Jconnector çıkarıp ve ardından netbeansda projeni oluşturuyoruz ,projemizi açıp aç ve libraries'e sağ tıklayıp Add JAR/Folder seçtikten sonra çıkarttığımız yerdeki mysql-connector-java-5.1.9-bin.jar dosyasını seçiyoruz. Mysql kütüphanemizide eklemiş olduk

Kurulum aşaması bitti şimdi bağlatıyı kurmayı anlatmadan direk kodları vereceğim zaten kodların içinde de açıkladım :)

    package veritabani;
    //"ad jar/folder" ile eklediğimiz sql kütüphenimizi import edelim(çağıralım)
    import java.sql.*;
    /**
     *
     * @author yusuf
     */
    public class baglatiTest {
        public static void main(String[] args) {
            //Driver ı gösteriyoruz
            try {
                Class.forName("com.mysql.jdbc.Driver");
            } catch (ClassNotFoundException e) {
                System.err.println("Driver Bulunamadı");
            }
           
            Connection con = null;
            try {
               
                /**Bağlantımızı(connection) yaparken kullandığım localhost benim veritabanımın
                 * bulunduğu sunucu, 3306 ise veritabanımın dışarıya bağlantı kurduğu
                 * port adresidir, root kullanıcı adın hemen yanına da şifreni yazman gerekmektedir
                 * */
               
                con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql"
                        ,"root","mysql kurarken yazdığın şifreyi yaz buraya");
               
                System.out.println("veri tabanıyla bağlantı kuruldu");
                           
            } catch (SQLException e) {
                System.out.println("Bağlantı kurulamadı");
                e.printStackTrace();
            }
        }
       
    }

    gördüğünüz gibi bağlatıyı başaryıla kurduk...

    Hadi Hayırlı günler :)


Uyarı: Lütfen başlık, kod etiketi ve Türkçe kullanımı ile ilgili kurallara uymaya özen gösteriniz.
Kabin basıncı düştü motorlarda arıza !
Vakit süratle aksın hakimiyet kur nabıza !
İçinden nasıl geldiyse yaz anlat herşeyi ,
Bu mektup varmıcak hayalini kurduğun kıza !

sem

Bağlantıyı kapatmayınca GC gibi bir sistem devreye girebiliyor mu yoksa sızdırmış mı oluyoruz acaba (memory leak)? Java'cı olmadığım için tam kestiremedim?
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

ykulac

işimiz bitince bağlantıları sonlandırmak en doğru tercih olacaktır.

sem

Evet dediğiniz gibi en doğrusu bu olacaktır bence de.


Peki kapatmazsak GC Duruma müdahale edebilir durumda mı yoksa sızıntıya doğru mu gidiyor işin ucu?
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

WhiteScars

Kullandığınız Stream objeleri scope dışına çıktığı zaman GC tarafından temizlenir diye düşünüyorum. Tabi GC'ye güvenip iş yapılmaz. En temizi try-catch-finally :)
İnsanoğluna bırakabileceğiniz en güzel miras tecrübelerinizdir.

srgnaras

root@pandora:~# sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql
Paket listeleri okunuyor... Bitti
Bağımlılık ağacı oluşturuluyor       
Durum bilgisi okunuyor... Bitti      
libapache2-mod-auth-mysql paketi mevcut değil, ancak başka paket içerisinden işaret edilmiş.
Bu durum bu paketin kayıp, eskidiği için bırakılmış, ya da başka bir
yazılım kaynağında bulunduğu anlamına gelebilir.

N: Geçersiz bir dosya uzantısı içerdiğinden 'tualatrix-next-saucy.list.save' dosyası '/etc/apt/sources.list.d/' dizininde yoksayıldı.
N: Geçersiz bir dosya uzantısı içerdiğinden 'videolan-stable-daily-saucy.list.save' dosyası '/etc/apt/sources.list.d/' dizininde yoksayıldı.
N: Geçersiz bir dosya uzantısı içerdiğinden 'bumblebee-stable-saucy.list.save' dosyası '/etc/apt/sources.list.d/' dizininde yoksayıldı.
N: Geçersiz bir dosya uzantısı içerdiğinden 'tualatrix-next-saucy.list.save' dosyası '/etc/apt/sources.list.d/' dizininde yoksayıldı.
N: Geçersiz bir dosya uzantısı içerdiğinden 'videolan-stable-daily-saucy.list.save' dosyası '/etc/apt/sources.list.d/' dizininde yoksayıldı.
N: Geçersiz bir dosya uzantısı içerdiğinden 'bumblebee-stable-saucy.list.save' dosyası '/etc/apt/sources.list.d/' dizininde yoksayıldı.
E: 'libapache2-mod-auth-mysql' paketi için kurulum adayı yok

şeklinde bir hata alıyorum. apt-get update yapıp tekrar denedim ancak birşey değişmedi 12.10'da rahatça kurmuştum mysql'i dün 13.10'u sıfırdan kurdum ve mysql'i yüklerken bu sorunla karşılaştım nasıl aşabilirim..
En zengin insan en güçlü arkadaşlara sahip insandır.

heartsmagic

@srgnaras, o modül ne yazık ki şu an depolarda yok zira geliştiricisi henüz Apache 2.4 için ilgili değişikliği yapıp göndermemiş. Şuraya bakabilirsin:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=666826

Geliştiricisi bazı sıkıntılar nedeniyle geçişi hemen yapamayacaklarını söylemiş. Ne kadar sürer bilinmez.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

srgnaras

@heartsmagic bilgi için teşekkürler zaten sürekli mysql kullanan biri değilim bir süre sqlite ile idare edebilirim ancak mysql değişikleri tam olarak bittiğinde nereden öğrenebilirim ?
En zengin insan en güçlü arkadaşlara sahip insandır.

heartsmagic

İlgili hata kaydından takip edilebilir büyük ihtimalle, geliştirici oraya not düşecektir diye tahmin ediyorum. Ayrıca doğrudan kendisine bir eposta da gönderilebilir ve nazikçe ne zamana yetişeceği sorulabilir.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

exclipit

@heartsmagic, sorun çözüldüğünde linux mint için direk depolarda yer almaya başlar mı? Veya çözüldüyse şu an o sayfadaki linklerden birisinden indirip yüklemem doğru olur mu?
Çalışan iki el, dua eden binlerce elden daha çok iş yapar. – Gene Roddenberry

heartsmagic

Mint'in depo politikasını bilemiyorum. Eğer güncellemeleri sıkı sıkıya takip ediyorlarsa depolara girebilir hemen. Fakat bekliyorlarsa haliyle depolar için senin de beklemen gerekir. Bir de Mint'in bir Ubuntu'yu bir de Debian'ı temel alan sürümü vardı sanırım, şu an hangisi ne durumda bilemiyorum cidden.

Doğrudan Debian tarafından alınacak paketlerin sorun çıkartma durumu olabilir. Zira başka bağımlılıklar da vardır orada. Gerçi %100 çıkartır demeyeyim, öneri olarak depolara girmesi veya kendi dağıtımın için paketlenmesi bence daha mantıklı.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.