Ana Sayfa » Windows » Java » Java ile MySQL Veritabanina Baglanmak

Java ile MySQL Veritabanina Baglanmak

Veri Tabani ile ilgili derslerimizin ilkinde java ile MS-SQL baglantisini yapmistik. Bu derste ise java ile mysql baglantisini yapacagiz insallah.

Ilk olarak yapmamiz gereken bilgisayarimiza mysql server kurmak. Kurulum için su dersten yararlanabilirsiniz.

Eger mysql'imizi kurduysak baglanti yapmak için bir veritabani olusturuyoruz.

Benim olusturdugum veritabaninin adi "testdatabase". Içerisinde bir tane "calisanlar" adinda tablo var; bu tabloda 3 tane sütun var: id, isim, sehir. Siz elbette istediginiz gibi bir tablo olusturabilirsiniz. Tabi bu olusturdugunuz tabloya denemek için veriler eklemeyi unutmuyoruz.

Eger tablomuz da hazirsa sira geldi en önemli adimlardan birine: ODBC Connector hazirlamaya. http://www.mysql.com/downloads/connector/odbc/ adresinden sisteminize uygun olanini indiriniz.

Öncelikle zipli olan bu dosyayi bir yere çikariyoruz. Sonra Eclips'i açiyoruz.

  • Yeni bir java projesi açiyoruz.
  • JRE System Library'e sag tiklayip Configure Build Path diyoruz.
mysql and java
  • Karsimiza çikan pencereden Add External JARs seçenegini tikliyoruz.
mysql and java

Buraya kadar her sey tamamsa isin yarisindan fazlasini yaptik demektir.

Simdi sira geldi kodlarimiza. Yeni bir paket ve sinif açiyoruz ve su kodlari yaziyoruz:

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 ekledigimiz ODBC Connector içerisinde bulunan bir sinif.

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

Buradaki con degiskeni veritabanina baglanti için gerekli. testdatabase, yukarida da belirttigim gibi olusturdugum veritabaninin adi.

  • root, kullanici adi.
  • " ", ise sifrem. Yani sifre yok.
PreparedStatement statement = con.prepareStatement("select * from calisanlar");
--Bir sorgu olusturuyoruz.
ResultSet result = statement.executeQuery();
--Dönen degeri result degiskenine atiyoruz.
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 yazdiriyoruz.
my wife cheated on me with my father why women cheat on men they love read
reasons why married men cheat how to cheat husband wife cheated on me
cell phone spying software francescocutolo.it app to spy on android phone
walgreen online coupon blog.suntekusa.com pharmacy codes prescription
naltrexone pill prednisolone 10mg amoxil pill
viagra.com coupon site prescription drug discount cards

Yazar Hakkında

Ahmet Tanriverdi

Google Plus

Makale Sayısı : 50

Java ile MySQL Veritabanina Baglanmak

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

Yorumlar

  • avatar

    Guests

    Netbeans için nasil bir yol izlemek gerekiyor build path kismini halledebilmek adina?

    Cevapla Alıntı Yaparak Cevapla
  • 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