AplikasiSederhanaCRUDJavaNetbeansdanDatabaseMysql|ReyditzTya
REYDITZ TYA
Sebuah Catatan Di Masa Lalu, Sebuah Cerita Di Masa Depan
AboutRey
Archive
RealMadrid
UltrasLife
Pemograman
JavaPemogramanAplikasiSederhanaCRUDJavaNetbeansdanDatabaseMysql
BerlanggananArtikel,InputkanEmail
KamudiSini:
menggunakanMysqlberartikamumasukkeBlogyangtepat.Kaliinisayaakanmembahasmengenai
caramembuataplikasisederhanayangdapatmenjalankanmenuCreate,Read,UpdatedanDelete
Subscribe
(CRUD)
BagikamuyangbelummengetahuiapaituBahasaPemogramanJavadapatdibacadisini
SEARCH
Search
PertamabuatlahsebuahdatabasebernamaDataBaseatauterserahanda,,kemudianbuatlahsebuahtabel
atauentitasbernamaMahasiswa(ingattabelharusmempunyaisebuahprimarykey)yangmemilikiatribut:
Nama,NRP,TanggalLahir,danAlamat.
MembuatProject
KemudiankitamulaimembuatprojectJavaAplicationdiNetbeans,caranya:File>NewProject,lalupada
bagianCategoriespilihJavadanbagianProjectpilihJavaApplication.BerinamaprojectiniAplikasi.
POPULAR POSTS
ARCHIVE
LABELS
OFFICIAL PAGES
http://reyditztya.blogspot.com/2013/06/aplikasisederhanacrudjavanetbeans.html
1/9
29/12/2014
AplikasiSederhanaCRUDJavaNetbeansdanDatabaseMysql|ReyditzTya
TemukankamidiFacebook
ReyditzTya
Suka
20orangmenyukaiReyditzTya.
PluginsosialFacebook
SPONSOR
Klikok,akanmunculjendelaberikutnyadanklikbuttonAddAllkemudiannext.Akanmunculjendela
berikutnyadanklikbuttoncreatpersistenceunit,ok,kemudiannext.Padacollectionpilihjava.util.Listdan
klikbuttonfinish.
BerikutnyakitaakanmembuatclasspersistenceUtilitysebagaiutilitiesyangmembuatkoneksiJPAatau
EntityManagerFactory:
packageaplikasi;
importjavax.persistence.EntityManagerFactory;
importjavax.persistence.Persistence;
publicclasspersistenceUtility{
publicfinalstaticEntityManagerFactoryentityManagerFactory;
static{
//parameterharussamadengannamaPersistenceUnit
//yangadapadafilepersistence.xml
entityManagerFactory=
Persistence.createEntityManagerFactory("AplikasiPU");
}
publicstaticEntityManagerFactorygetEntityManagerFactory(){
returnentityManagerFactory;
}
}
Selanjutnyakitaakanmembuattampilandariaplikasidatabaseini,,
Padacomboboxcariberdasarkan,,ubahlahmodelpadapropertycomboboxyangsebelumnya
http://reyditztya.blogspot.com/2013/06/aplikasisederhanacrudjavanetbeans.html
2/9
29/12/2014
AplikasiSederhanaCRUDJavaNetbeansdanDatabaseMysql|ReyditzTya
dengannamadannrp,dengancaraklikkananpadacombobox,kemudianpadamodelyangsebelumnya
berisikanitem1,item2,item3,item4ubahmenjadinama,nrp.
Andthenubahlahnama2komponenatauvariabelsepertidibawahini:
karnakitamemakaiTabelsebagaiantarmukanya,,makakitaharusmembuatsebuahTableModeluntuk
mempermudahdalammenambahdatadangmengambildatadaritabel.Buatlahclassbaru
bernamaTableModel:
packageaplikasi;
importjava.util.ArrayList;
importjava.util.Collection;
importjava.util.List;
importjavax.swing.table.AbstractTableModel;
publicclassTableModelextendsAbstractTableModel{
privatestaticfinallongserialVersionUID=1L;
privateListlist=newArrayList();
publicvoidupdateAll(Collectionmhs){
list.clear();
list.addAll(mhs);
fireTableDataChanged();
}
publicMahasiswaget(intindex){
returnlist.get(index);
}
publicvoidsetData(Listlist){
this.list=list;
//memberiperingatanketabelbahwadataberubah
fireTableDataChanged();
}
publicvoidinsert(Mahasiswamhs){list.add(mhs);
fireTableRowsInserted(getRowCount()1,getRowCount()1);
}
publicvoiddelete(intindex){
list.remove(index);
fireTableRowsDeleted(index,index);
}
publicvoidupdate(intindex,
Mahasiswamhs){list.set(index,mhs);
fireTableRowsUpdated(index,index);
}
publicMahasiswaselect(intindex){
returnlist.get(index);
}
publicintgetRowCount(){
returnlist.size();
}
publicintgetColumnCount(){
return4;
}
http://reyditztya.blogspot.com/2013/06/aplikasisederhanacrudjavanetbeans.html
3/9
29/12/2014
AplikasiSederhanaCRUDJavaNetbeansdanDatabaseMysql|ReyditzTya
publicObjectgetValueAt(introwIndex,intcolumnIndex){
switch(columnIndex){
case0:
returnlist.get(rowIndex).getNama();
case1:
returnlist.get(rowIndex).getNrp();
case2:
returnlist.get(rowIndex).getTanggalLahir();
case3:
returnlist.get(rowIndex).getAlamat();
default:
returnnull;
}
@Override
publicStringgetColumnName(intcolumn){
switch(column){
case0:
return"Nama";
case1:
return"NRP";
case2:
return"Tanggallahir";
case3:
return"Alamat";
default:
returnnull;
}
}
}
SelanjutankitatambahkanTableModelketampilanantarmuka,carannyamasukkebagiansourcekemudian
ubahkonstruktoryangsebelunnya:
publicView(){
initComponents();
}
Menjadi:
publicView(){
initComponents();
tableModel=newTableModel();
Tabel.setModel(tableModel);
}
Berikutnyatambahangetteruntuksemuakomponenpadasourceantarmuka,inibergunauntukcontroler
yangakanbuatselanjutnya.
publicView(){
initComponents();
tableModel=newTableModel();
Tabel.setModel(tableModel);
}
publicJButtongetButtonDelete(){
returnHapus;
}
publicJButtongetButtonInsert(){
returnTambah;
}
publicJButtongetButtonUpdate(){
returnEdit;
}
publicTableModelgetTableModel(){
returntableModel;
}
publicJTablegetTable(){
returnTabel;
}
publicJTextFieldgetTextNama(){
returntxtNama;
}
publicJTextFieldgetTextNrp(){
returntxtNrp;
}
publicJSpinnergetTanggal(){
returnTanggal;
}
publicJTextAreagetAlmt(){
returnAlamat;
}
http://reyditztya.blogspot.com/2013/06/aplikasisederhanacrudjavanetbeans.html
4/9
29/12/2014
AplikasiSederhanaCRUDJavaNetbeansdanDatabaseMysql|ReyditzTya
SelanjutnyakitaakanmembuatclassControler.Classinibertugasuntukmelakukansemuaproses
manipulasidatabase.BiasanyaControllermenyesuaikandenganView,misaldisiniViewmemilikitombol
INSERT,UPDATEdanDELETE,artinyaControllerharusdapatmenanganimasalahINSERT,UPDATEdan
DELETEtersebut.BiasanyaControllermenyesuaikandenganView,misaldisiniViewmemilikitombol
INSERT,UPDATEdanDELETE,artinyaControllerharusdapatmenanganimasalahINSERT,UPDATEdan
DELETEtersebut.Apahanyaitu?TIDAK!TerdapatsebuahtabelpadaVIewyangsebelumnyakitabuat,dan
yangjadipertanyaanbagaimanadatayangadadalamdatabasebisaterlihatditable?Artinyakitaharus
membuatsiControllerdapatmenanganiprosesSELECT.
packageaplikasi;
importjava.util.Date;
importjava.util.List;
importjavax.persistence.EntityManager;
importjavax.swing.JOptionPane;
publicclassControler{
privateViewview;
publicControler(Viewview){
this.view=view;
}
publicvoidinsert(){
EntityManagermanager=
PersistenceUtility.getEntityManagerFactory().createEntityManager();
manager.getTransaction().begin();
try{
//buatmahasiswa
Mahasiswamhs=newMahasiswa();
//ubahdatamahasiswa
mhs.setNama(view.getTextNama().getText());
mhs.setNrp(view.getTextNrp().getText());
mhs.setTanggalLahir((Date)view.getTanggal().getValue());
mhs.setAlamat((view.getAlmt().getText()));
//simpankedatabase
manager.persist(mhs);
//simpahketablemodel
view.getTableModel().insert(mhs);
manager.getTransaction().commit();
}catch(Throwablet){
t.printStackTrace();
manager.getTransaction().rollback();
}finally{
manager.close();
}
}
publicvoidupdate(){
//dapatkanbarisyangterseleksi
intindex=view.getTable().getSelectedRow();
//jikatidakada
if(index==1){
//makaprosesdibatalkan
JOptionPane.showMessageDialog(null,"Pilihbarisyangakandiupdate!");
return;
}
EntityManagermanager=
PersistenceUtility.getEntityManagerFactory().createEntityManager()
;
manager.getTransaction().begin();
try{
//mendapatkanmahasiswadaritablemodel
Mahasiswamhs=view.getTableModel().select(index);
//ubahdatamahasiswa
mhs.setNama(view.getTextNama().getText());
mhs.setNrp(view.getTextNrp().getText());
mhs.setTanggalLahir((Date)view.getTanggal().getValue());
mhs.setAlamat((view.getAlmt().getText()));
//updatemahasiswakedatabase
manager.merge(mhs);
//updatemahasiswaketablemodel
view.getTableModel().update(index,mhs);
manager.getTransaction().commit();
}catch(Throwablet){
t.printStackTrace();
manager.getTransaction().rollback();
}finally{
manager.close();
}
}
publicvoiddelete(){
http://reyditztya.blogspot.com/2013/06/aplikasisederhanacrudjavanetbeans.html
5/9
29/12/2014
AplikasiSederhanaCRUDJavaNetbeansdanDatabaseMysql|ReyditzTya
//dapatkanbarisyangterseleksi
intindex=view.getTable().getSelectedRow();
//jikatidakada
if(index==1){
JOptionPane.showMessageDialog(null,"Pilihbarisyangakandidelete!");
return;//makaprosesdibatalkan
}
EntityManagermanager=
PersistenceUtility.getEntityManagerFactory().createEntityManager();
manager.getTransaction().begin();
try{
//mendapatkanmahasiswadaritablemodel
Mahasiswamhs=view.getTableModel().select(index);
//menghapusmahasiswadaridatabase
manager.remove(manager.merge(mhs));
//menghapusmahasiswadaritablemodel
view.getTableModel().delete(index);
manager.getTransaction().commit();
}catch(Throwablet){
t.printStackTrace();
manager.getTransaction().rollback();
}finally{
manager.close();
}
}
publicvoidselect(){
EntityManagermanager=
PersistenceUtility.getEntityManagerFactory().createEntityManager();
try{
@SuppressWarnings("unchecked")
Listlist=manager.createQuery
("selectafromMahasiswaaorderbya.nrp").getResultList();
view.getTableModel().updateAll(list);
}finally{
manager.close();
}
}
}
UntuktahapberikutnyakitaakanmenambahkanaksitombolTambah,Hapus,Edit,danRefresh.Dengan
caradoublekliktomboltersebutkemudianisikankodeberiut:
Tambah:
privatevoidTambahActionPerformed(java.awt.event.ActionEventevt){
if(txtNama.getText().equals("")||
txtNrp.getText().equals("")||Alamat.getText().equals("")){
JOptionPane.showMessageDialog(null,"Dataharusdiisidenganlengkap!")
;
return;
}
controler.insert();
txtNama.setText("");
txtNrp.setText("");
Alamat.setText("");
}
Hapus:
privatevoidHapusActionPerformed(java.awt.event.ActionEventevt){
if(JOptionPane.showConfirmDialog
(this,"AndaYakinAkanMenghapusDataMahasiswa?",
"HapusMahasiwa",JOptionPane.OK_CANCEL_OPTION)==
JOptionPane.CANCEL_OPTION){
//batalkanaksihapus
return;
}
controler.delete();
txtNama.setText("");
txtNrp.setText("");
Alamat.setText("");
}
Edit:
privatevoidEditActionPerformed(java.awt.event.ActionEventevt){
if(txtNama.getText().equals("")||txtNrp.getText().equals("")||
Alamat.getText().equals("")){
JOptionPane.showMessageDialog(null,"Dataharusdiisidenganlengkap!"
http://reyditztya.blogspot.com/2013/06/aplikasisederhanacrudjavanetbeans.html
6/9
29/12/2014
AplikasiSederhanaCRUDJavaNetbeansdanDatabaseMysql|ReyditzTya
);
return;
}
controler.update();
txtNama.setText("");
txtNrp.setText("");
Alamat.setText("");
}
Refresh:
privatevoidrefreshActionPerformed(java.awt.event.ActionEventevt){
controler.select();
}
DanterakhirtambahkanaksitombolCari,,dengancarayangsamadanisikankodeberikut:
privatevoidjButton1ActionPerformed(java.awt.event.ActionEventevt){
EntityManagermanager=
PersistenceUtility.getEntityManagerFactory().createEntityManager();
try{
Listlist=manager.createQuery
("selectbfromMahasiswabwhere"+"b."+
(String)cmbCari.getSelectedItem()+"like'%"+
txtCari.getText()+"%'").getResultList();
//tampilkanhasilpencarianketable
tableModel.setData((List)list);
}catch(Throwablet){
//perlihatkanerror
t.printStackTrace();
}finally{
//tutupentitymanager
manager.close();
}
}
Sampaidisinisebenarnyaprogramkitasudahjadi,,tapiuntukmembuattabelpadaprogramkitalebih
interaktifmakatambahkankodeberikutpadakonstruktorviewatautampilanantarmuaprogramsehingga
kontraktornyamenjadi:
publicView(){
initComponents();
tableModel=newTableModel();
Tabel.setModel(tableModel);
controler=newControler(this);
//menampilkandatamahasiswaketikaprogrampertamakalidijalank
an
refreshActionPerformed(null);
Tabel.getSelectionModel().addListSelectionListener
(newListSelectionListener(){
publicvoidvalueChanged(ListSelectionEvente){
//dapatkanbarisyangterseleksi
intbaris=Tabel.getSelectedRow();
//cekapakahbaristerseleksi
if(baris!=1){
//jikaterseleksi,tampilkandatadiform
//dapatkanmahasiswadaritabel
Mahasiswamhs=tableModel.get(baris);
//tampilkandatadiform
txtNama.setText(mhs.getNama());
txtNrp.setText(mhs.getNrp());
Tanggal.setValue(mhs.getTanggalLahir());
Alamat.setText(mhs.getAlamat());
}
}
});
}
Akhirnyaprogamdatabasesederhanatelahselesai,,,kitatinggalmenambahkandriverMySQLkedalam
project..CaranyaklikkananpadalibrariesprojectkitakemudianpilihAddLibrary,selanjutnyapilihMy
SQLJDBCDriver.DanprogramdatabasesederhanasiapdijalankanGampangkan!!Malahlebih
gampangdaricarayangbiasa
Apabilaadakendalaataukesulitandalamprosespembuatannyasilakankomenya....Terimakaasih
DiposkanolehReyditzTya
di00.57
2komentar
Label:Java,Pemograman
http://reyditztya.blogspot.com/2013/06/aplikasisederhanacrudjavanetbeans.html
7/9
29/12/2014
AplikasiSederhanaCRUDJavaNetbeansdanDatabaseMysql|ReyditzTya
Related Posts
Addacomment...
AlsopostonFacebook
PostingasAgusCjdw(Change)
Comment
Facebooksocialplugin
2Komentar:
agungpw 9Juli201320.21
padapublicclasspersistanceUtilityadaerormin.
err:variableentityManagerFactorymightnothavebeeninitialized
soklusinyagimanaya??newbieni,barubelajar
Balas
ReyditzTya 9Juli201323.56
@agungpw:mohoncobadisamakanscriptclasspersistenceUtilitysebagaiutilitiesyang
membuatkoneksiJPAatauEntityManagerFactory
Balas
SilahkantinggalkankomentarAndadibawahini,
Adapunperaturanberkomentardiblogini:
1.Tidakmenempatkanlinkhidupsaatberkomentar.
2.Tidakkomentarspam.
3.Tidakkomentarpromosi.
4.TidakkomentaryangmengandungunsurSARA.
5.BerkomentardenganSopan.
Tidakmematuhiperaturan?Maaf,komentarandatidakakansayaterbitkan!
Clicktoseethecode!
Toinsertemoticonyoumustaddedatleastonespacebeforethecode.
MasukkankomentarAnda...
Berikomentarsebagai:
GoogleAccount
Publikasikan
Pratinjau
RANDOM POST
http://reyditztya.blogspot.com/2013/06/aplikasisederhanacrudjavanetbeans.html
8/9
29/12/2014
AplikasiSederhanaCRUDJavaNetbeansdanDatabaseMysql|ReyditzTya
2012ReyditzTya
PostsRSSCommentsRSS
Copyright2008ReyditzTyaisproudlypoweredbyBlogger.com|TemplatebyFunday
http://reyditztya.blogspot.com/2013/06/aplikasisederhanacrudjavanetbeans.html
9/9