Ana Sayfa » Windows » Java » Java ile MySQL Veritabanına Bağlanmak

Java ile MySQL Veritabanına Bağlanmak

Veri Tabanı ile ilgili derslerimizin ilkinde java ile MS-SQL bağlantısını yapmıştık. Bu derste ise java ile mysql bağlantısını yapacağız inşallah.

İlk olarak yapmamız gereken bilgisayarımıza mysql server kurmak. Kurulum için şu dersten yararlanabilirsiniz.

Eğer mysql'imizi kurduysak bağlantı yapmak için bir veritabani oluşturuyoruz.

Benim oluşturduğum veritabaninin adi "testdatabase". İçerisinde bir tane "calisanlar" adında tablo var; bu tabloda 3 tane sütun var: id, isim, sehir. Siz elbette istediğiniz gibi bir tablo oluşturabilirsiniz. Tabi bu oluşturduğunuz tabloya denemek için veriler eklemeyi unutmuyoruz.

Eğer tablomuz da hazırsa sıra geldi en önemli adımlardan birine: ODBC Connector hazırlamaya. http://www.mysql.com/downloads/connector/odbc/ adresinden sisteminize uygun olanını indiriniz.

Öncelikle zipli olan bu dosyayı bir yere çıkarıyoruz. Sonra Eclips'i açıyoruz.

  • Yeni bir java projesi açıyoruz.
  • JRE System Library'e sağ tıklayıp Configure Build Path diyoruz.
mysql and java
  • Karşımıza çıkan pencereden Add External JARs seçeneğini tıklıyoruz.
mysql and java

Buraya kadar her şey tamamsa isin yarısından fazlasını yaptık demektir.

Simdi sıra geldi kodlarımıza. Yeni bir paket ve sınıf açıyoruz ve su kodları yazıyoruz:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
  public class Main
{
   public static void main(String[] args) throws Exception
   {
     Class.forName("com.mysql.jdbc.Driver");
     Connection con = DriverManager.getConnection("jdbc:mysql://localhost/testdatabase","root","");
     PreparedStatement statement = con.prepareStatement("select * from calisanlar");
     ResultSet result = statement.executeQuery();
     while(result.next())
     {
       System.out.println(result.getString(1)+" "+result.getString(2)+" "+result.getString(3));
     }
   }
}
Class.forName("com.mysql.jdbc.Driver");

com.mysql.jdbc.Driver eklediğimiz ODBC Connector içerisinde bulunan bir sınıf.

Connection con = DriverManager.getConnection("jdbc:mysql://localhost/testdatabase","root","");

Buradaki con değişkeni veritabanına baglanti için gerekli. testdatabase, yukarıda da belirttiğim gibi oluşturduğum veritabanının adı.

  • root, kullanıcı adi.
  • " ", ise şifrem. Yani şifre yok.
PreparedStatement statement = con.prepareStatement("select * from calisanlar");
--Bir sorgu oluşturuyoruz.
ResultSet result = statement.executeQuery();
--Dönen değeri result değişkenine atıyoruz.
while(result.next())
{
   System.out.println(result.getString(1)+" "+result.getString(2)+" "+result.getString(3));
}
--Ve son olarak da 1'inci, 2'inci ve 3'üncü sütunlardaki verileri ekrana yazdırıyoruz.

Yazar Hakkında

Ahmet Tanriverdi

Google Plus

Makale Sayısı : 50

Java ile MySQL Veritabanına Bağlanmak

13 yorum
yorumekle yorumekle Toplam 4 Yorum Yapılmış. Sizde yorum yazmak ve soru sormak için bu linki takip edin. -Forum sayfasına yönlendirileceksiniz-

Yorumlar

  • avatar

    Guests

    package mysqlapp;
    import java.sql.*;
    import java.util.Scanner;


    public class uurrrOrnek {
    private static Connection baglanti = null;
        private static String url = "jdbc:mysql://localhost:3306/";
        private static String dbName = "baslangiç"; 
        private static String driver = "com.mysql.jdbc.Driver";
        private static String userName = "root"; 
        private static String password = "admin"; 
        private static ResultSet  result; 
     
        
        
    public static  void silme() throws SQLException{
    String sorgu="Delete from islem where ad='ayse'";
    Statement  St = baglanti.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
    result=St.executeQuery(sorgu);
    }
    public static  void ekleme() throws SQLException{
    String sorgu="insert into islem(ad,soyad,tarih,yapylan_islem,kullanilan_malzeme,sonuc,dusunce) values('sibel','keskyn',20150227,'balyaj','açycy+30 vol oksidan','parlak sary rengine ulasylmystyr','i?lem basaryly')";
    Statement  St = baglanti.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
    result=St.executeQuery(sorgu);
    }
    public static  void arama() throws SQLException{
    String sorgu="Select * from islem where ad='ece'";
    Statement St = null;
    try {
    St = baglantiAc();
    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    result=St.executeQuery(sorgu);
    }
    public static  Statement baglantiAc() throws Exception {
            Class.forName(driver).newInstance();
            Connection baglanti = DriverManager.getConnection(url + dbName, userName, password);          
            return baglanti.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
    }
            public static void baglantiKapat() throws Exception {
                baglanti.close();
            }

    public static void main(String[] args) {
    try {
    Statement St = baglantiAc();
    } catch (Exception e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    }
           
              Scanner veri=new Scanner(System.in);
              System.out.println("Y?lem numarasyny Giriniz:1)ekleme, 2)silme, 3)arama");
              int islem=veri.nextInt();
              switch(islem) {
                 case 1: 
    try {
    ekleme();
    } catch (SQLException e3) {
    // TODO Auto-generated catch block
    e3.printStackTrace();
    }
                  break;
                 case 2: 
                 
    try {
    silme();
    } catch (SQLException e2) {
    // TODO Auto-generated catch block
    e2.printStackTrace();
    }
                  break;
                 case 3: 
               
    try {
    arama();
    } catch (SQLException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    }
                 break;
                 }
               
    try {
    baglantiKapat();
    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    Exception in thread "main" java.lang.NullPointerException
    at mysqlapp.uurrrOrnek.ekleme(uurrrOrnek.java:29)
    at mysqlapp.uurrrOrnek.main(uurrrOrnek.java:71)  
    HATA ALIYORUM YARDIM EDEBILIRMISINIZ

    Cevapla Alıntı Yaparak Cevapla
  • avatar

    mskunt

     tablonuzdaki kolon bilgilerini ve nasil bir sonuc almak istediginizi gonderseniz yardimci olmaya çalisalim

    Cevapla Alıntı Yaparak Cevapla
  • avatar

    Ahmet

    Sabri SQL uzmanidir. Size yardimci olacagini tahmin ediyorum.

    Cevapla Alıntı Yaparak Cevapla
  • avatar

    Guests

     Yazi için tesekkürler,

    Ben gömülü veri tabani kullaniyorum bir konuda takildim yardim isteyecektim. Müsteriler ve halilar adinda iki tablom var fakat iki tabloyu birbirine baglayamadim iç içe sql sorgusu yapmam gerekiyo galiba ama islerim çok karisik yardimci olabilir misiniz?

    Cevapla Alıntı Yaparak Cevapla