• Kazandığınız her 1000 ÇTL birikiminizi 5 TL ile değiştirip ödeme alabilirsiniz...

[Java]Kullanışlı Bir SqlSorgu Sınıfı

merakettim

Öpözel Üye :*
Özel üye
Uzak veya yerel bir mysql sunucuda kullanabileceğiniz (Lamp yada Wamp da olabilir) kullanışlı oludğunu düşündüğüm bir SqlSorgu sınıfı. Sorgu sonrasında veriler ArrayList<HashMap<String,String>> şeklinde gelir, verilere ulaşırken sql.getEleman.get(kayıtnumarası).get("verianahtarı") şeklinde ve String olarak kullanıyorsunuz.

Ayrıca içinde bir de geri dönüş vermeyen sorgular için static bir fonksiyon bulunur. Geri dönüşsüz sorguları bu fonksiyonu kullanalarak yapabilirsiniz.

Varsayılan Ayarlamalar
Kod:
static String kullaniciAdi="root";
static String sifre="";
static String varsayilanBaglanti="sunucuadresi/veritabanıadı";
SqlSorgu.java

Java:
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package restoranasistan;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;

/**
 *
 * @author Sercan
 */
public class SqlSorgu {
    static String kullaniciAdi="root";
    static String sifre="";
    static String varsayilanBaglanti="localhost/restoranasistan";
  
    public ArrayList<HashMap<String,String>> getEleman=new ArrayList<HashMap<String,String>>();
    
    static public void update(String sql,String baglanti){
    String baglan;
        if(baglanti=="" || baglanti ==null)
            baglan=varsayilanBaglanti;
        else
            baglan=new String(baglanti);
            
        try
    {
      
      String driver = "org.gjt.mm.mysql.Driver";
      String url = "jdbc:mysql://"+baglan+"?useUnicode=true&characterEncoding=UTF-8";
      Class.forName(driver);
      Connection conn = DriverManager.getConnection(url, kullaniciAdi, sifre);
      String query = sql;
      
      Statement st = conn.createStatement();
 
      
        st.executeUpdate(query);
      
    
      st.close();
    }
    catch (Exception e)
    {
      System.err.println("Sql Update Hata! ");
      System.err.println(e.getMessage());
    }
        
    }
    
    SqlSorgu(String sql,String baglanti){
       String baglan;
        if(baglanti=="" || baglanti ==null)
            baglan=varsayilanBaglanti;
        else
            baglan=new String(baglanti);
            
        try
    {
      
      String driver = "org.gjt.mm.mysql.Driver";
      String url = "jdbc:mysql://"+baglan+"?useUnicode=true&characterEncoding=UTF-8";
      Class.forName(driver);
      Connection conn = DriverManager.getConnection(url, kullaniciAdi, sifre);
      String query = sql;
      
      Statement st = conn.createStatement();
      
      
       ResultSet rs = st.executeQuery(query);
      ResultSetMetaData rsmd = rs.getMetaData();
 
      HashMap<String,String> map;
      while (rs.next())
      { 
          map=new HashMap<String,String>();
            for(int say=1;say<=rsmd.getColumnCount();say++)
                map.put(rsmd.getColumnName(say), rs.getString(rsmd.getColumnName(say)));
                
          
          getEleman.add(map);
        
      }
      st.close();
    }
    catch (Exception e)
    {
      System.err.println("Sql sorguda hata! ");
      System.err.println(e.getMessage());
    }
    
    
    }
}
Sınıf Çağrıları
Java:
 SqlSorgu sql=new SqlSorgu("SELECT * FROM menueklentiurunleri where menueklentiid="+mei,null);
 for (int say=0;say<sql.getEleman.size();say++)
 System.out.println(sql.getEleman.get(say).get("isim"));
 
 //static fonksiyon
 SqlSorgu.update("INSERT INTO....", null);
Not:Yapıcının ve static fonksiyonun son parametresi null kullanılırsa eğer varsayılan bağlantı kullanılır.null yerine bağlantı adresi ve veri tabanı girebilirsiniz.
 
Top