GUI Create and Read

Pada kesempatan ini, kita akan belajar cara menghubungkan Java dengan MySQL dan membuat sebuah program CRUD sederhana berbasis teks. 

Kita membutuhkan JDBC (Java Data Base Connectivity) untuk menghubungkan Java dan MySQL.
JDBC bertugas menyediakan koneksi ke database, sehingga kita bisa mengakses dan mengelola datanya dari program Java.

Ada beberapa istilah yang harus dipahami dalam JDBC:
  • DriverManager: adalah sebuah class yang mengelola dirver;
  • Driver: adalah interface yang menangani komunikasi dengan database.
  • Connection: adalah interface yang menyediakan method untuk menghubungi database;
  • Statement: adalah inteface untuk mengeksekusi query;
  • ResultSet: adalah interface untuk menampung data hasil query.
Langkah pertama yaitu membuat database terlebih dahulu untuk menyimpan atau menginput data yang aakan dimasukan kedalam tampilan GUI.
Membuat project baru:
1. Buka aplikasi netbeans
2. Buka projek baru dengan cara klik file =>  New Project
3. Pilih katagori: java dan project: java application.
4. Berikan nama project: mahasiswa dan jangan lupa jangan lupa centang create main project lalu finish.
Buatlah database pada software yang biasa anda gunakan.
setelah itu buatlah file create: 
Disini saya contoh yaitu menggunakan GUI dengan Pemilu
setelah itu buatlah sourch code untuk menyambungkan pada Gui tampilan tersebut:
package pemilu;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.SQLException;
import javax.swing.JOptionPane;
public class Create extends javax.swing.JFrame {

    /** Creates new form Create */
    public Create() {
        initComponents();
    }

    @SuppressWarnings("unchecked") 

  private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                      
        String capres = String.valueOf(jTextField1.getText());
        String cawapres = String.valueOf(jTextField2.getText());
        String slogan = String.valueOf(jTextArea1.getText());
        if (capres.equals("")) {
            JOptionPane.showMessageDialog(null, "Anda Belum Mengisi Nama Capres!", "Input Data Status", 1);
        } else if (cawapres.equals("")) {
            JOptionPane.showMessageDialog(null, "Anda Belum Mengisi Nama CaWapres!", "Input Data Status", 1);
        } else if (slogan.equals("")) {
            JOptionPane.showMessageDialog(null, "Anda Belum Mengisi Slogan!", "Input Data Status", 1);
        } else { // jika data tidak ada yang kosong.
            try {
                Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/pemilu", "root", "");
                Statement st = conn.createStatement();
                String query = "INSERT INTO daftar_peserta VALUES (null,'" + capres + "','" + cawapres + "','" + slogan + "')";
                // harus diberi null, karena di database nya , kolom id itu AUTO INCREEMENT. null berarti tidak ada data yang masuk ke tabel
                st.executeUpdate(query);
                JOptionPane.showMessageDialog(null, "Data Berhasil Tersimpan!", "Input Data Status", 1);
            } catch (SQLException ex) {
                JOptionPane.showMessageDialog(null, "Terjadi Kesalahan! Periksa Kembali Data Anda! "+ex, "Input Data Status", 0);
            }
        }
    }
Setelah membuat File create untuk menginputkan data. 
Buatlah file Read untuk menampilkan data atau membaca data yang sudah diinputkan
 Diatas adalah tampilan Gui Read untuk menyimpan data yang sudah diinputkan
Setelah itu buatlah sourch code Readnya:

package pemilu;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

public class Read extends javax.swing.JFrame {

    /** Creates new form Read */
    public Read() {
        initComponents();
        data(); // ini berfungsi untuk memanggil method yang memanggil data pada database
    }


    @SuppressWarnings("unchecked")
                      
    private void initComponents() {

        jScrollPane1 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jTable1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null},
                {null, null, null},
                {null, null, null},
                {null, null, null}
            },
            new String [] {
                "CaPres", "CaWapres", "Slogan"
            }
        ));
        jScrollPane1.setViewportView(jTable1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 452, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 275, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(14, Short.MAX_VALUE))
        );

        pack();
    }                 

    public void data() {         try {
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/pemilu", "root", "");
            String query2 = "SELECT * FROM daftar_peserta";
            Statement st2 = conn.createStatement();
            ResultSet rs2 = st2.executeQuery(query2);
            DefaultTableModel tm = (DefaultTableModel) jTable1.getModel();
            tm.setRowCount(0);
            while (rs2.next()) {
                String capress = rs2.getString("capres");
                String cawapress = rs2.getString("cawapres");
                String slogann = rs2.getString("slogan");
                tm.addRow(new Object[]{capress, cawapress, slogann});
            }
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Terjadi Kesalahan! Periksa Kembali Data Anda!", "Input Data Status", 0);
        }
    }

                  
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable jTable1;
                   
}

Jadi setelah selesai maka bisa di Run kan atau dicoba.

diatas hanya materi tentang Create dan Read dari Gui pemrograman java untuk menginputkan sebuah data capres atau cawapres pemilu 2019.


Sumber : https://www.petanikode.com/java-mysql/

Komentar

Postingan populer dari blog ini

GUI (Events dan Pengambilan Nilai Pada Swings)

Konsep Dasar PBO

Enkapsulasi