Pemprograman Java Menggunakan Interface

package dony.entity;;

 

/**

 *

 * @dony

 */

public class Mahasiswa {

 

    private String nim;

    private String nama;

    private String alamat;

 

    public String getAlamat() {

        return alamat;

    }

 

    public void setAlamat(String alamat) {

        this.alamat = alamat;

    }

 

    public String getNama() {

        return nama;

    }

 

    public void setNama(String nama) {

        this.nama = nama;

    }

 

    public String getNim() {

        return nim;

    }

        public void setNim(String nim) {

        this.nim = nim;

    }

 

    public Mahasiswa() {

    }

 

    public Mahasiswa(String nim, String nama, String alamat) {

        this.nim = nim;

        this.nama = nama;

        this.alamat = alamat;

    }

}

package dony.model;

 

i

mport bahrie.entity.Mahasiswa;

import java.sql.SQLException;

import java.util.List;

java  inter vace

/**

 *

 * @dony

 */

public interface DataInterface {

 

    public void connect() throws SQLException;

    public void disconnect() throws SQLException;

    public List  read() throws SQLException;

    public void insert(Mahasiswa mahasiswa) throws  SQLException;

    public void update(String nim, Mahasiswa mahasiswa) throws SQLException;

    public void delete(String nim) throws SQLException;

    public Mahasiswa read(String nim) throws  SQLException;

 

 

}

 

 

 

 

 

package dony.model;

 

import dony.entity.Mahasiswa;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.ArrayList;

import java.util.List;

import java.util.logging.Level;

import java.util.logging.Logger;

 

/**

 *

 * @author  dony

 */

public class DaoMySql implements DataInterface {

 

    private String dbHost = “jdbc:mysql://localhost:3306/sisteminformasi”;

    private String dbUser = “root”;

    private String dbPass = “root”;

    private Connection conn;

 

  

 public DaoMySql() {

        try {

            try {

                Class.forName(“com.mysql.jdbc.Driver”).newInstance();

            } catch (ClassNotFoundException ex) {

                Logger.getLogger(DaoMySql.class.getName()).log(Level.SEVERE, null, ex);

            }

        } catch (InstantiationException ex) {

            Logger.getLogger(DaoMySql.class.getName()).log(Level.SEVERE, null, ex);

        } catch (IllegalAccessException ex) {

            Logger.getLogger(DaoMySql.class.getName()).log(Level.SEVERE, null, ex);

        }

 

    }

 

    public DaoMySql(Connection conn) {

        this.conn = conn;

    }

 

    public void connect() throws SQLException {

        this.conn = DriverManager.getConnection(dbHost, dbUser, dbPass);

    }

 

    public void disconnect() throws SQLException {

        this.conn.close();

    }

 

    public List read() throws SQLException {

        Statement st = conn.createStatement();

        String sql = “select *from mahasiswa”;

        ResultSet rs = st.executeQuery(sql);

        List list = new ArrayList();

        while (rs.next()) {

            Mahasiswa mhs = new Mahasiswa();

            mhs.setNim(rs.getString(“nim”));

            mhs.setNama(rs.getString(“nama”));

            mhs.setAlamat(rs.getString(“alamat”));

            list.add(mhs);

        }

        return list;

    }

 

    public void insert(Mahasiswa mahasiswa) throws SQLException {

        String sql = “insert into mahasiswa (nim, nama, alamat) values(?,?,?);”;

        PreparedStatement ps = this.conn.prepareStatement(sql);

        ps.setString(1, mahasiswa.getNim());

        ps.setString(2, mahasiswa.getNama());

        ps.setString(3, mahasiswa.getAlamat());

        ps.executeUpdate();

 

    }

 

    public void update(String nim, Mahasiswa mahasiswa) throws SQLException {

        String sql = “update mahasiswa set nim=?,nama=?,alamat=? where nim=?”;

        PreparedStatement ps = this.conn.prepareStatement(sql);

        ps.setString(1, mahasiswa.getNim());

        ps.setString(2, mahasiswa.getNama());

        ps.setString(3, mahasiswa.getAlamat());

        ps.setString(4, nim);

        ps.executeUpdate();

    }

 

    public void delete(String nim) throws SQLException {

        String sql = “delete from mahasiswa where nim=?”;

        PreparedStatement ps = this.conn.prepareStatement(sql);

        ps.setString(1, nim);

        ps.executeUpdate();

    }

 

    public Mahasiswa read(String nim) throws SQLException {

        String sql = “select *from mahasiswa where nim = ?”;

        PreparedStatement ps = this.conn.prepareStatement(sql);

        ps.setString(1, nim);

        ResultSet rs = ps.executeQuery();

        Mahasiswa mahasiswa = new Mahasiswa();

        while (rs.next()) {

            mahasiswa.setNim(rs.getString(“nim”));

            mahasiswa.setNama(rs.getString(“nama”));

            mahasiswa.setAlamat(rs.getString(“alamat”));

        }

        return mahasiswa;

    }

}

package dony.model;

 

import bahrie.entity.Mahasiswa;

import java.util.ArrayList;

import java.util.List;

import javax.swing.table.AbstractTableModel;

 

/**

 *

 * @author dony

 */

public class TableModelMahasiswa extends AbstractTableModel {

 

    List list = new ArrayList();

 

    public TableModelMahasiswa(List list) {

        this.list = list;

    }

 

    public TableModelMahasiswa() {

    }

 

    public int getRowCount() {

        return list.size();

    }

 

    public int getColumnCount() {

        return 3;

    }

 

    public Mahasiswa select(int index) {

        return list.get(index);

    }

 

    public Object getValueAt(int rowIndex, int columnIndex) {

        switch (columnIndex) {

            case 0:

                return list.get(rowIndex).getNim();

            case 1:

                return list.get(rowIndex).getNama();

            case 2:

                return list.get(rowIndex).getAlamat();

            default:

                return null;

        }

 

  }

 

    @Override

    public String getColumnName(int column) {

        switch (column) {

            case 0:

                return “Nim”;

            case 1:

                return “Nama”;

            case 2:

                return “Alamat”;

            default:

                return null;

        }

    }

}