Download - CRUD Java
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
1
PRAKATA
Puji Syukur kehadirat Allah SWT yang telah memberi
nikmat sehat sehingga buku saku ini dapat terselesaikan dan
mudah-mudahan bermanfaat dalam proses belajar khususnya
Programming Java. Mohon doanya supaya dapat menyelesaikan
buku saku lainnya.
Buku ini gratis untuk dipelajari, boleh menyebarkan
buku ini tetapi jangan merubah isi dari buku ini yah apalagi
memanfaatkan untuk diperjualbelikan.
Semoga buku ini berguna dan sebagai ladang amal
kami sekeluarga, mohon doanya supaya kami bisa membuat
buku-buku gratis yang lain, Amin. ^_^
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
2
DAFTAR ISI
Halaman
Prakata .................................................................................................... 1
Daftar Isi ................................................................................................. 2
Persiapan ............................................................................................... 3
Konfigurasi ............................................................................................ 3
Menambahkan Component Tanggal ......................... 3
Membuat Aplikasi .............................................................................. 5
Membuat Project ............................................................... 5
Membuat Package ............................................................. 6
Membuat Model/Entity ................................................................... 8
Menambahkan Library .................................................................... 11
Desain Interface .................................................................................. 12
Pengenalan Palette ........................................................... 12
Pembuatan Form Siswa ................................................. 13
Konfigurasi Form Siswa ................................................. 15
Membuat Class DAO .......................................................................... 16
Membuat Interface Service ............................................................ 19
Membuat Service Implementation ............................................. 20
Konfigurasi Spring XML ................................................................... 21
Konfigurasi Hibernate ...................................................................... 23
JDBC Properties .................................................................................. 24
CRUD Pada Form ................................................................................ 27
Main Project ........................................................................ 27
Form SiswaFrame ............................................................. 28
Class GenerateTables ........................................................................ 33
Penutup .................................................................................................. 36
Tentang Penulis .................................................................................. 37
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
3
1. Persiapan
Persiapan untuk memulai membuat aplikasi java memerlukan
beberapa software diantaranya :
- Aplikasi Netbeans IDE 7.4
Digunakan sebagai editor untuk membuat aplikasi java,
selain Netbeans IDE ada juga Eclipse, JCreator dan lain-lain.
Tapi dalam tutorial ini menggunakan Netbeans IDE sebagai
editornya.
- XAMPP
MySQL sebagai database aplikasi, kami memanfaatkan
MySQL yang ada pada Aplikasi XAMPP.
- Mozila Firefox
Aplikasi Web browser sebagai pintu masuk kedalam
database MySQL.
- JDK 1.7
2. Kofigurasi
Konfigurasi Netbeans sebelum memulai membuat Aplikasi.
- Menambahkan Component Tanggal
Secara default Aplikasi Netbeans IDE tidak memiliki
component tanggal untuk input data dengan format date,
jadi kita harus menambahkannya terlebih dahulu kedalam
Palette Netbeans IDE yang diambil dari library JCalendar,
berikut caranya :
a. Jalankan Netbeans IDE
Pilih menu Tool Palette Swing/AWT Components
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
4
Gambar 2.1 Palette Manager
Klik New Category isikan Calendar Ok.
Kemudian klik add from JAR…
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
5
Gambar 2.2 Install Component to Palette
Kemudian Next pilih semua next pilih folder Calendar
finish.
Cek apakah Komponent Kalender sudah berhasil ditambahkan,
lihat pada palate Calender.
Selanjutnya membuat aplikasi.
3. Membuat Aplikasi
Langkah awal dalam membuat Aplikasi adalam membuat
project terlebih dahulu, berikut caranya :
- Membuat Project
Pertama Pilih Menu File new project
Gambar 3.1 New Project
Pilih Java Application Next isikan Project Name “CRUD
JAVA”, Create Main Class “Main” dan ubahlah menjadi
“com.wordpress.yyaayyaatt.form.Main”
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
6
Gambar 3.2 New Java Aplication
Klik Finish.
Selesailah pembuatan Project pada Netbeans IDE.
- Membuat Package
Package atau folder digunakan untuk memisahkan antara
Model View dan Cotrollernya, caranya sebagai berikut :
Klik Kanan Project New Java Package… Package Name
“com.wordpress.yyaayyaatt.dao”
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
7
Gambar 3.3 New Java Package
Klik Finish.
Tadi sudah kita buat sebuah package yang akan digunakan
untuk menaruh Class Data Akses Objek (DAO).
Selanjutnya buatlah Package dengan nama :
com.wordpress.yyaayyaatt.model
com.wordpress.yyaayyaatt.form
com.wordpress.yyaayyaatt.service
com.wordpress.yyaayyaatt.impl
dan hasilnya seperti pada gambar 3.4 dibawah ini.
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
8
Gambar 3.4 Package Aplikasi
4. Membuat Model
Model atau sering dikenal dengan nama Entity adalah
sesuatu yang terlibat dalam sebuah system, sesuatu itu bisa
orang seperti siswa atau benda seperti buku.
Model disini adalah representasi dari table dalam database
yang akan kita buat, dari model, sering disebut Reverse
Engineering. Berikut adalah cara membuat Model :
Klik kanan Package com.wordpress.yyaayyaatt.model
New Java Class
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
9
Gambar 3.5 New Java Class Model Siswa
Isikan Class Name “Siswa” Finish.
Tambahkan Script seperti dibawah ini : package com.wordpress.yyaayyaatt.model;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
@Entity
@Table(name = "siswa")
public class Siswa implements Serializable
{
@Id
@GeneratedValue
@Column(name = "id")
private int id;
@Column(name = "nis")
private String nis;
@Column(name = "nisn")
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
10
private String nisn;
@Column(name = "nama")
private String nama;
@Column(name = "tmpt_lhr")
private String tmpt_lhr;
@Column(name = "tgl_lhr")
@Temporal(javax.persistence.TemporalType.DAT
E)
private Date tgl_lhr;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNis() {
return nis;
}
public void setNis(String nis) {
this.nis = nis;
}
public String getNisn() {
return nisn;
}
public void setNisn(String nisn) {
this.nisn = nisn;
}
public String getNama() {
return nama;
}
public void setNama(String nama) {
this.nama = nama;
}
public String getTmpt_lhr() {
return tmpt_lhr;
}
public void setTmpt_lhr(String tmpt_lhr) {
this.tmpt_lhr = tmpt_lhr;
}
public Date getTgl_lhr() {
return tgl_lhr;
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
11
}
public void setTgl_lhr(Date tgl_lhr) {
this.tgl_lhr = tgl_lhr;
}
}
5. Menambahkan Library
Pada proses pembuatan Model diatas pasti akan muncul
banyak pesan merah pada scriptnya, itu karena Library
yang dibutuhkan belum ditambahkan kedalam Project.
Berikut akan kami jelaskan bagaimana menambahkan
library kedalam Project :
Gambar 5.1 Add Library
Klik kanan pada Folder Libraries add library…
Import cari library dengan nama :
Hibernate JPA
Spring Framework 2.5.6 SEC03
Klik Import Library Seleksi Library Add Library.
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
12
Gambar 5.2 Add Library to Project
Setelah selesai maka yang tadinya error akan hilang
dengan sendirinya.
6. Desain Interface
Langkah berikutnya adalah desain interface program,
interface adalah penghubung antara pemakai dan
perangkat. Arti interface disini adalah penghubung antara
Siswa dengan Database, tanpa adanya interface maka siswa
tidak dapat mengakses data dalam database. Sebelum
mendesain interface, ada yang perlu di pelajari dahulu,
antara lain :
- Pengenalan Palette
Palette adalah tempat berbagai macam component, lihat
gambar 6.1.
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
13
Gambar 6.1 Palette Netbeans IDE 7.4 Modify
Cara mengimplementasikan sebuah component dari Palette
kedalam sebuah Form, caranya klik component dan arahkan
cursor keatas Form dan letakkan sesuai kebutuhan.
- Pembuatan Form Siswa
Cara membuat Form Siswa dengan menggunakan JFrame,
Klik Kanan package com.wordpress.yyaayyaatt.form New
JFrame Form… Isikan Class Name “SiswaFrame”
kemudian Klik Finish. Lihat Gambar 6.2.
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
14
Gambar 6.2 Membuat JFrame Form
Selanjutnya desain form SiswaFrame menjadi seperti pada
gambar 6.3 dibawah ini.
Gambar 6.3 Desain Interface Form SiswaFrame
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
15
- Konfigurasi Form Siswa
Nama-nama component dari desain interface diatas masih
secara default jadi perlu dirubah supaya tidak
membingungkan saat melakukan coding nantinya. Rubahlah
setingannya seperti berikut :
Gambar 6.4 Setting Variable Name
Tabel 6.1 Setting Variable Name
Nomor Variable Name 5 txtNis 6 txtNisn 7 txtNama 8 txtTempat 9 dateLahir
10 tabelSiswa 11 btnAdd 12 btnUpdate 13 btnDelete
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
16
14 btnClose Cara merubah Variable Name dari component – component
pada form SiswaFrame adalah sebagai berikut :
Klik kanan Komponent Change Variable Name…
Gambar 6.5 Rename Variable Name
Klik OK.
Begitu juga seterusnya ^_^.
7. Membuat Class DAO
Class DAO atau sering dikenal dengan Data Access Object, class
ini berfungsi sebagai Controller dari Aplikasi karena dalam class
ini berisi berbagai macam query yang akan digunakan untuk
pengolahan data pada Form. Setelah selesai membuat Model dan
User Interface sekarang kita buat Class DAO, tapi sebelum itu
kita buat dahulu sebuah class Generic DAO, kenapa perlu
membuat class ini karena dalam sebuah proses ada fungsi-
fungsi dasar seperti save, delete, getById dan getAll. Proses
pembuatan DAO bisa dipersingkat jika kita membuat Generic
DAO, karena semua DAO akan extends Generic DAO. Langsung
saja ikuti langkah-langkah membuat Generic DAO berikut ini :
Buat Java Class didalam Package *.dao dengan nama BaseDaoHibernate.
Ubah scriptnya seperti ini :
Package com.wordpress.yyaayyaatt.dao
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
17
public class BaseDaoHibernate<T> {
@SuppressWarnings("unchecked")
protected Class domainClass;
@Autowired
protected SessionFactory sessionFactory;
@SuppressWarnings("unchecked")
public BaseDaoHibernate() {
this.domainClass = (Class) ((ParameterizedType)
getClass().getGenericSuperclass())
.getActualTypeArguments()[0];
}
public T save(T domain) {
sessionFactory.getCurrentSession().saveOrUpdate(dom
ain);
}
@SuppressWarnings("unchecked")
public T getById(Long id) {
return(T)
sessionFactory.getCurrentSession().get(domainClass,
id);
}
public T delete(T domain) {
sessionFactory.getCurrentSession().delete(domain);
}
@SuppressWarnings("unchecked")
public Long count() {
List list =
sessionFactory.getCurrentSession().createQuery(
"select count(*) from " + domainClass.getName() + "
x").list();
Long count = (Long) list.get(0);
return count;
}
@SuppressWarnings("unchecked")
public List<T> getAll() {
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
18
return
sessionFactory.getCurrentSession().createQuery("fro
m " + domainClass.getName())
.list();
}
@SuppressWarnings("unchecked")
public List<T> getAll(int start, int num) {
return
sessionFactory.getCurrentSession().createQuery("fro
m " + domainClass.getName())
.setFirstResult(start).setMaxResults(num)
.list();
}
}
Simpan.
Setelah selesai membuat Generic Class barulah kita buat Class
SiswaDAO, caranya sebagai berikut :
Klik kanan pada package *.dao new Java Class Class
Name “SiswaDAO” OK.
Tuliskan Script seperti berikut :
package com.wordpress.yyaayyaatt.dao;
import com.wordpress.yyaayyaatt.model.Siswa;
import java.util.List;
import
org.springframework.stereotype.Repository;
@Repository
public class SiswaDAO extends
BaseDaoHibernate<Siswa> {
public Siswa getSiswaByID(String id) {
return (Siswa)sessionFactory
.getCurrentSession()
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
19
.createQuery("from Siswa s where s.id=:id")
.setParameter("id", id)
.uniqueResult();
}
@SuppressWarnings("unchecked")
public List<Siswa> getCari(String cari) {
System.out.print(cari);
String searchFor = "%" + cari + "%";
String query="from Siswa n where n.nama like
'"+searchFor+"' or n.nis like '"+searchFor+
"' or n.nisn like '"+searchFor+"'";
System.out.print(query);
return
sessionFactory.getCurrentSession()
.createQuery(query)
.list();
}
}
8. Membuat Interface Service
Interface berisi method-method yang akan
diimplementasikan kedalam Class serviceImpl, dimana
didalam class serviceImpl adalah class yang
menghubungkan antara Form dengan Class DAOnya,
sekarang buat class Service untuk Siswa, caranya seperti
berikut :
Buatlah Java Interface dengan nama “SiswaService”
didalam package *.service, caranya Klik kanan pada
package *.service new Java Interface (bukan Java
Class) ubah namanya menjadi “SiswaService” OK.
Masukkan Script berikut ini :
package com.wordpress.yyaayyaatt.service;
import com.wordpress.yyaayyaatt.model.Siswa;
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
20
import java.util.List;
public interface SiswaService {
void insert(Siswa a);
void delete(Siswa a);
List<Siswa> getAll();
List<Siswa> getCari(String cari); Siswa getByID(int id);
}
9. Membuat Service Implementation
Sesuai dengan namanya Class ini akan mengimplementskan
servicenya, misal SiswaServiceImpl itu akan
mengimplements Class SiswaService dengan Model yang
sama yaitu Class Siswa. Jadi kita akan membuat Class
Implements yang akan mengimplementskan Interface
SiswaService diatas. Caranya :
Buat Java Class dalam Package *.impl dengan Nama
“SiswaServiceImpl” dan ubah Scriptnya seperti berikut
ini :
package com.wordpress.yyaayyaatt.impl;
import com.wordpress.yyaayyaatt.dao.SiswaDAO;
import com.wordpress.yyaayyaatt.model.Siswa;
import
com.wordpress.yyaayyaatt.service.SiswaService
;
import java.util.List;
import
org.springframework.beans.factory.annotation.
Autowired;
import
org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Tr
ansactional;
@Service("siswaService")
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
21
@Transactional(readOnly=true)
public class SiswaServiceImpl implements
SiswaService {
@Autowired
private SiswaDAO siswaDAO;
@Transactional(readOnly=false)
public void insert(Siswa a){
siswaDAO.save(a);
}
@Transactional(readOnly=false)
public void delete(Siswa a){
siswaDAO.delete(a);
}
@Override
public List<Siswa> getAll(){
return siswaDAO.getAll();
}
@Override
public List<Siswa> getCari(String cari) {
return siswaDAO.getCari(cari);
}
@Override
public Siswa getByID(int id) {
return siswaDAO.getSiswaByID(id);
}
}
10. Konfigurasi Spring xml Buatlah file SpringXMLConfig, caranya klik kanan source packages new SpringXMLConfig lihat Gambar 10.1.
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
22
Gambar 10.1 File SpringXMLConfig Next Class Name “appContext” Next
Gambar 10.2 New File SpringXMLConfig
check context, p dan tx Finish. tambahkan script berikut ini sebelum </beans>: <context:component-scan base-
package="com.wordpress.yyaayyaatt.dao,com.wordp
ress.yyaayyaatt.impl"/>
<context:annotation-config/>
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
23
<tx:annotation-driven/>
<context:property-placeholder
location="classpath:jdbc.properties"/>
<bean id="dataSource"
class="org.springframework.jdbc.datasource.Driv
erManagerDataSource"
p:driverClassName="${jdbc.driver}"
p:url="${jdbc.url}"
p:username="${jdbc.username}"
p:password="${jdbc.password}"/>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annot
ation.AnnotationSessionFactoryBean"
p:dataSource-ref="dataSource"
p:configLocation="classpath:hibernate.cfg.xml"/
>
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.Hiber
nateTransactionManager"
p:sessionFactory-
ref="sessionFactory"/>
11. Konfigurasi Hibernate Setelah selesai konfigurasi Spring sekarang kita konfigurasi Hibernate, kegunaan dari hibernate config ini untuk mendaftarkan Model yang akan di reverse menjadi sebuah tabel pada database. Menentukan driver koneksi yang dipakai sesuai database yang digunakan, user dan password database, beriukut caranya : Klik kanan source packages New others
Hibernate Hibernate Configuration Wizard Next
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
24
Gambar 11.1 New Hibernate.cfg
Isikan File Name “hibernate.cfg” Next pilih New Database Connection pada Database Connection pilih Driver MySQL(Connector/J driver) Next Isikan Nama Database yang akan dipakai dan database tersebut harus dibuat manual dahulu dalam MySQL1, disini kami pakai database dengan nama “biodata” masukkan Password Koneksinya Test Connection jika sukses Finish Finish.
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
25
Gambar 11.2 New Connection Wizard
Hasilnya sebagai berikut :
Gambar 11.3 UI Hibernate.cfg.xml
Langkah berikutnya adalah mendaftarkan(Mapping) Model kedalam Hibernate.cfg.xml, caranya klik Mapping add browse pada class cari Modelnya yaitu Class Siswa.java klik Select File OK, bisa dilihat pada Gambar 11.4 Add Mapping.
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
26
Gambar 11.4 Add Mapping
Proses mapping Model telah selesai, jika terdapat lebih dari satu Model/Entity maka mappingkan semuanya satu persatu.
12. JDBC Properties
Klik kanan source packages New other properties files hasilnya lihat Gambar 12.1.
Gambar 12.1 New Properties Files
Isikan File Name “jdbc.properties” Finish. Masukkan script berikut ini :
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
27
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/biodata
jdbc.username=root
jdbc.password=yyaayyaatt
Selesai dan simpan.
13. CRUD pada Form
a. Main Project
Konfigurasi Main.java, pada Class Main ini kita akan
mendeclarasikan Class Service dan mendaftarkan class
service kedalam Spring. Langsung saja berikut
langkahnya :
Buka file Main.java dan Masukkan script dibawah ini package com.wordpress.yyaayyaatt.form;
import
com.wordpress.yyaayyaatt.service.SiswaServi
ce;
import
org.springframework.context.ApplicationCont
ext;
import
org.springframework.context.support.ClassPa
thXmlApplicationContext;
public class Main {
private static SiswaFrame siswaFrame;
private static SiswaService
siswaService;
public static SiswaFrame
getSiswaFrame() {
return siswaFrame;
}
public static SiswaService
getSiswaService() {
return siswaService;
}
public static void main(String[] args)
{
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
28
ApplicationContext appContext
= new
ClassPathXmlApplicationContext("appContext.
xml");
siswaService = (SiswaService)
appContext.getBean("siswaService");
siswaFrame = new SiswaFrame();
siswaFrame.setVisible(true);
}
}
Karena hanya memiliki satu Class Service yaitu
SiswaService maka yang ditambahkan hanya
SiswaService, jika ada lebih dari itu maka masukkan
semuanya sesuai kebutuhan.
b. Form SiswaFrame
Langkah berikutnya adalah menerapkan class-class
kedalam sebuah form untuk dijadikan sebuah mekanisme
CRUD, ikuti langkah-langkahnya :
Buka Form SiswaFrame.
Membuat Aksi Simpan pada btnAdd, caranya klik
kanan pada btnAdd events Action
actionPerformed
Masukkan script Add berikut :
if (btnAdd.getText().equals("Add")) {
btnAdd.setText("Save");
aktif(true);
txtNis.requestFocusInWindow();
} else {
if (txtNis.getText().equals("") &&
txtNisn.getText().equals("") &&
txtNama.getText().equals("")) {
JOptionPane.showMessageDialog(SiswaFrame.th
is, "Isi Semua data!!", "Peringatan",
JOptionPane.OK_OPTION);
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
29
txtNis.requestFocusInWindow();
} else {
SimpanData();
btnAdd.setText("Add");
aktif(false);
statusAwal();
}
}
Setelah memasukkan script diatas pasti ada error,
untuk menanganinya masukkan script berikut ini: void aktif(boolean b) {
txtNis.setEnabled(b);
txtNisn.setEnabled(b);
txtNama.setEnabled(b);
dateLahir.setEnabled(b);
txtTempat.setEnabled(b);
btnUpdate.setEnabled(b);
btnDelete.setEnabled(b);
}
private void setClearTextField() {
txtNis.setText("");
txtNisn.setText("");
txtNama.setText("");
txtTempat.setText("");
}
void SimpanData() {
try {
if (siswa == null) {
siswa = new Siswa();
}
siswa.setNis(txtNis.getText());
siswa.setNisn(txtNisn.getText());
siswa.setNama(txtNama.getText());
siswa.setTmpt_lhr(txtTempat.getText());
siswa.setTgl_lhr(dateLahir.getDate());
Main.getSiswaService().insert(siswa);
JOptionPane.showMessageDialog(
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
30
SiswaFrame.this,"Simpan
Sukses!","Pemberitahuan"
,
JOptionPane.INFORMATION_MESSAGE);
setClearTextField();
} catch (Exception ex) {
System.out.println("error = " +
ex.toString());
JOptionPane.showMessageDialog(
SiswaFrame.this, "Simpan Gagal!!!" + " " +
ex.toString(),"Peringatan",
JOptionPane.ERROR_MESSAGE);
}
}
private void modelToForm() {
txtNis.setText(String.valueOf(siswa.getNis()));
txtNisn.setText(siswa.getNisn());
txtNama.setText(siswa.getNama());
txtTempat.setText(siswa.getTmpt_lhr());
dateLahir.setDate(siswa.getTgl_lhr());
}
void klikTable() {
if (tabelSiswa.getSelectedRow() >= 0) {
siswa=siswas.get(
tabelSiswa.getSelectedRow());
siswa=Main.getSiswaService()
.getByID(siswa.getNis());
modelToForm();
}
}
private void setFillTable() {
siswas = Main.getSiswaService().getAll();
Object data[][] =
new Object[siswas.size()][9];
int x = 0;
for (Siswa s : siswas) {
data[x][0] = s.getNis();
data[x][1] = s.getNisn();
data[x][2] = s.getNama();
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
31
data[x][3] = s.getTmpt_lhr();
data[x][4] = s.getTgl_lhr();
++x;
}
String[] judul =
{"NIS", "NISN", "NAMA","TEMPAT LAHIR",
"TGL, LAHIR"};
tabelSiswa.setModel(new
DefaultTableModel(data, judul));
jScrollPane1.setViewportView(tabelSiswa);
}
void statusAwal() {
aktif(false);
setClearTextField();
setFillTable();
}
Script diatas memiliki fungsinya masing-masing : - method aktif digunakan untuk mengaktifkan atau menonaktifkan component berdasarkan nilainya true atau false. - method setClearTextField digunakan untuk menghapus isi dari textfield setelah menginput data atau edit data. - klikTable berguna untuk mendapatkan nilai dari data yang diklik pada table dan selanjutnya akan diteruskan ke method modelToForm dan data akan ditampilkan pada textField dan dateField sesuai dengan datanya. - setFillTable menampilkan data dari database kedalam component table.
Input Script Hapus, caranya sama seperti saat input
Script Simpan, yaitu klik kanan btnDelete events
action actionPerformed
if (siswa != null) {
Main.getSiswaService().delete(siswa);
statusAwal();
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
32
JOptionPane.showMessageDialog(this, "Hapus
Sukses!");
} else {
JOptionPane.showMessageDialog(this, "Hapus
Gagal!!!");
}
Input Script Update, caranya sama seperti btnDelete
dan btnAdd.
if (btnUpdate.getText().equals("Update")) {
btnUpdate.setText("Save");
aktif(true);
txtNis.requestFocusInWindow();
} else {
if (txtNis.getText().equals("")
&& txtNisn.getText().equals("")
&& txtNama.getText().equals("")) {
JOptionPane.showMessageDialog(rootPane,
"Isi Semua Files!!!"
, "Peringatan", JOptionPane.OK_OPTION);
txtNis.requestFocusInWindow();
} else {
SimpanData();
btnUpdate.setText("Update");
aktif(false);
statusAwal();
}
}
Input Script Klik Tabel, caranya klik kanan component
table events mouse mouseClicked
klikTable();
btnDelete.setEnabled(true);
btnUpdate.setEnabled(true);
Input Script keluar pada btnClose.
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
33
System.exit(0);
Tuliskan method statusAwal(); setelah
initComponent(); pada Form SiswaFrame lihat gambar
13.1.
Gambar 13.1 Method statusAwal
14. Class GenerateTables
Class ini berfungsi untuk mengenerate table kedalam
database secara otomatis sesuai dengan Model/Entitiy, class
ini akan sukses jika koneksi database sudah benar dan
nama database tujuan sudah dibuat terlebih dahulu pada
MySQL. Buatlah Class dengan nama GenerateTables pada
package *.form dan berikut listing kodenya :
package com.wordpress.yyaayyaatt.form;
import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.DataSource;
import
org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
import
org.springframework.context.support.AbstractApp
licationContext;
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
34
import
org.springframework.context.support.ClassPathXm
lApplicationContext;
public class GenerateTables {
public static void main(String[] args) throws
SQLException {
AbstractApplicationContext appContext = New
ClassPathXmlApplicationContext("classpath:appCo
ntext.xml");
DataSource dataSource = (DataSource)
appContext.getBean("dataSource");
AnnotationConfiguration cfg = new
AnnotationConfiguration().configure("hibernate.
cfg.xml");
Connection conn =
dataSource.getConnection();
new SchemaExport(cfg, conn).create(true,
true);
System.exit(0);
}
}
Jalankan Aplikasinya dan hasilnya seperti dibawah ini :
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
35
Gambar 14.1 Running Aplikasi
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
36
Penutup
Alhamdulillah akhirnya tutorial ini bisa selesai sebelum lebaran,
mudah-mudahan apa yang saya buat bermanfaat bagi semua
pembaca, saya sadar bahwa apa yang saya tulis masih belum
sempurna maka dari itu mohon kritik dan saran yang dapat
membangun dan membuat karya-karya berikutnya menjadi
lebih sempurna dan terstruktur dengan rapi.
Mohon doa dan dukungannya untuk kedepan agar saya bisa
membuat buku-buku lain yang lebih lengkap, lebih bagus, lebih
dapat dipelajari dan akhirnya saya mengucapkan terimakasih
yang sebesar-besarnya kepada pihak-pihak yang telah
membantu dalam proses pembuatan buku saku ini, mudah-
mudahan amal ibadahnya di terima, Amin.
Berhubung buku ini ditulis bertepatan bulan Ramadhan, kami
sekeluarga mengucapkan Minal ‘aidzin wal faidzin mohon maaf
lahir batin, wassalamu’alaikum wr.wb.
July 16, 2014
CREATE READ UPDATE DELETE (CRUD) JAVA
37
Tentang Penulis
Penulis bernama Muhammad Nurhidayat lahir di Tegal tanggal
02 juni 1990, tumbuh besar di Kampung halaman di Ds.
Kendayakan masih di area Tegal, sekarang tinggal di Jl. Mawar
RT. 29/III Desa Ujungrusi – Adiwerna – Tegal.
Penulis adalah lulusan dari Politeknik Harapan Bersama Tegal,
dan sekarang sedang melanjutkan Study S1 di STMIK
Tasikmalaya.
Kegiatan penulis saat ini adalah Freelance Programming
khususnya bahasa Pemrograman Java dan juga mengajar Materi
Kuliah Pemrograman Android di STMIK Tasikmalaya.
Penulis dapat dihubungi melalui :
- Facebook : www.facebook.com/yayat.gagah
- Email : [email protected]
- Twitter : lupa passwordnya :D