Monday, 1 September 2014

MVC CRUD, JAVA OBJECT ORIENTED PROGRAMING


 KELAS KONEKSI
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package mvc;
import java.sql.*;
import javax.swing.JOptionPane;

/**
 *
 * @author Administrator
 */
public class Koneksi {
    public Connection conn;
    public Statement st;
    public ResultSet rs;
    public String[][]data;
    protected String s;

public void koneksi()
 {
 // mamangil fungsi konek() untuk melakukan koneksi
  konek("localhost","akademik","root","");
 }

  public  void konek(String server,String db, String user,String passwd){
        System.out.println("Keterangan");

         try {
        Class.forName("com.mysql.jdbc.Driver");

      } catch (ClassNotFoundException e) {
        System.out.println(
           "Ada kesalahan Driver ODBC tidak barhasil Load");
        e.printStackTrace();
        return;
      }
       System.out.println("Mysql JDBC Driver berhasil di Load");
      conn = null;
           try {
          conn = DriverManager.getConnection("jdbc:mysql://"+
             server+":3306/"+db,user,passwd);
                  } catch (SQLException e) {
        System.out.println("Tidak bisa koneksi ke database");
            JOptionPane.showMessageDialog(null,"KONEKSI TERPUTUS");
        e.printStackTrace();
        return;
      }

      if (conn != null)
          System.out.println("Berhasil Koneksi!");
      else
              System.out.println("Koneksi Gagal........ !");
   }
public void executeupdate(String query){
koneksi();
  try{
     st=conn.createStatement();
     st.executeUpdate(query);
     JOptionPane.showMessageDialog(null, "OK");
     st.close();
     conn.close();
  }
  catch(SQLException e){
      JOptionPane.showMessageDialog(null, e);
  }

}
public void executeselect(String query){
koneksi();
  try{
     st=conn.createStatement();
    st.execute(query);
    st.close();
     conn.close();
     JOptionPane.showMessageDialog(null, "OK");
  }
  catch(SQLException e){
      JOptionPane.showMessageDialog(null, e);
  }

}
protected String[] getdatasaturecord(String tabel,String kunci,String field){
      // JOptionPane.showMessageDialog(null, tabel);
       koneksi();
       String [] dt=new String[4];
       String sql="select*from "+tabel+" where "+kunci+"='"+field+"'";
            try{
            st=conn.createStatement();
            rs=st.executeQuery(sql);
         ResultSetMetaData meta = rs.getMetaData();
         int kolom=meta.getColumnCount();
            while(rs.next()){
                for (int i=1;i<=kolom;i++){
                  dt[i-1]=rs.getString(i).toString();
                }
             
            }
         JOptionPane.showMessageDialog(null, dt[0]);
         st.close();
         conn.close();
       }
       catch(SQLException e){
           JOptionPane.showMessageDialog(null, e);
       }
       return dt;

   }

}
KELAS FUNGSI CRUD.


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package mvc;

import java.sql.*;
import javax.swing.JOptionPane;
import javax.swing.RootPaneContainer;

/**
 *
 * @author Administrator
 */
public class Fungsi_crud extends Koneksi{
    Koneksi x=new Koneksi();
    jumlahbariskolom jb=new jumlahbariskolom();
protected String data[][];
public int row;



public void setdata(String tabel){
   jb.setjumlahbarisdankolom(tabel);
        try{
            x.koneksi();
            String sql="select*from "+tabel;
            x.st=x.conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.TYPE_SCROLL_SENSITIVE);
            x.rs=x.st.executeQuery(sql);
            //ResultSetMetaData meta = x.rs.getMetaData();
          //JOptionPane.showMessageDialog(null, row);
            //int kolom = meta.getColumnCount();
            String [][] dt=new String[jb.getjumlahbaris()][jb.getjumlahkolom()];
            int baris=0;
            while (x.rs.next()){
              baris++;
              for(int i=1;i<=jb.getjumlahkolom();i++){
                   //System.out.println("data baris :"+(baris-1)+" Kolom ke:"+(i-1)+"="+x.rs.getString(i));
                  dt[baris-1][i-1]=x.rs.getString(i);
              }
            }
            this.data=dt;
            x.st.close();
            x.conn.close();
        }
        catch(SQLException e){
        JOptionPane.showMessageDialog(null, e);
        this.data=null;
        }
}
public String[][] getData(){
    return data;
}
public String[] getkolom(){
    String []jd=new String[4];
    jd[0]="NIM";
    jd[1]="Nama";
    jd[2]="Jeniskel";
    jd[3]="JURUSAN";
    return jd;

}
public String Insertdata(String tabel,String kolom[],String dt[]){
   String sql="insert into "+tabel+" ";
   sql+="(";
   sql+=kolom[0]+" ";
   for (int i=1;i<kolom.length;i++){
        if (kolom.length>1){
            sql+=", "+kolom[i];
        }
    }
    sql+=") values(";
    sql+="'"+dt[0]+"' ";
    for (int i=1;i<dt.length;i++){
        if (dt.length>1){
            sql+=", "+"'"+dt[i]+"'";
        }
    }
    sql+=")";
    JOptionPane.showMessageDialog(null, sql);
    return sql;
}
public String updatedata(String tabel,String kunci,String edit,String kolom[],String dt[]){
   String sql="UPDATE "+tabel+" ";
   sql+="SET ";
   sql+=kolom[0]+"="+"'"+dt[0]+"'";
   for (int i=1;i<kolom.length;i++){
        if (kolom.length>1){
            sql+=","+kolom[i]+"='"+dt[i]+"'";
        }
    }
    sql+=" where "+kunci+"='"+edit+"' limit 1";
   JOptionPane.showMessageDialog(null, sql);
    return sql;
}

protected void deletedata(String tabel,String kunci,String field){
    String sql="delete from "+tabel+ " where "+kunci+"='"+field+"' limit 1";
    x.koneksi();
    x.executeupdate(sql);
}
public String[][] getData(int row,String [] col){
    for(int i=0;i<col.length;i++){
         data[row][i]=data[row][i];
        //JOptionPane.showMessageDialog(null, data[row][i]);

    }
    return data;
}
public void setrow(int row){
    this.row=row;
}
public int getrow(){
    return row;
}

}

KELAS FUNGSI UNTUK MEMPEROLEH BARIS DAN KOLOM
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package mvc;
import java.sql.*;
import javax.swing.JOptionPane;
/**
 *
 * @author Administrator
 */
public class jumlahbariskolom {
   protected int jumlahbaris;
    protected int jumlahkolom;
    Koneksi k=new Koneksi();

public void setjumlahbarisdankolom(String tabel){
    k.koneksi();
    String baris="";
    try{
        k. st=k.conn.createStatement();
        k.rs=k.st.executeQuery("select*from "+tabel +" limit 1");
        ResultSetMetaData m=k.rs.getMetaData();
        //JOptionPane.showMessageDialog(null, m.getColumnName(1));
       k. st=k.conn.createStatement();
       // setnumrow(tabel, m.getColumnName(1));
        this.jumlahkolom=m.getColumnCount();
        k.st=k.conn.createStatement();
        k.rs=k.st.executeQuery("select count("+m.getColumnName(1)+") as row from "+tabel);
       while(k.rs.next()){
          // JOptionPane.showMessageDialog(null, k.rs.getString("row").toString());
       baris=k.rs.getString("row").toString();
       }
       this.jumlahbaris=Integer.parseInt(baris);
       k.st.close();
       k.conn.close();
    }
    catch(SQLException e){
        JOptionPane.showConfirmDialog(null, e);
    }
}

public int getjumlahbaris(){
    return jumlahbaris;
}
public int getjumlahkolom(){
    return jumlahkolom;
}

}