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

merakettim

Homo Sapiens Sapiens
Ö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