Create ,Read, Update , Delete (Crud) Sederhana Menggunakan JSP bag 2 Saatnya Beraksi

pada tulisan sebelum nya kita sudah basa basi , hehe melakukan persiapan code dan menyiapkan settingan yang dibutuhkan untuk mulai membuat aplikasi sederhana. pada bagian kedua ini saya akan melanjutkan pembuatan aplikasi  CRUD sederhana dengan JSP.

Pada project folder kita bisa lihat terdapat folder web pages kita mulai buat file web dengan cara klik kanan folder web page —> new—>jsp file create dan beri nama seperti contoh pada gambar diatas harusnya ada 6 file jsp, create.jsp, delete.jsp, index.jsp, update.jsp, updateview.jsp, viewall.jsp oh yah satu lagi, membuat package dan file kelas koneksi database yang akan kita gunakan untuk mengeksekusi data yaitu dengan JDBC (Java Database Connectivity). untuk lebih jelasnya mengenai SQL JAVA dan JDBC akan di bahas pada Kategori tersebut dan tulisan yang lain pada blog ini.  oke langsung saja kita create package untuk menyimpan file koneksi dan beserta file nya pada gambar di bawah ini akan terlihat pembuatan package dan file koneksi di tempatkan.

caranya klik kanan source packages—> pilih new package—>Java Package kemudian akan muncul halaman untuk menamai package yang kita buat, nah penamaan itu bisa terserah kita, tapi biasanya selalu di awali dengan domain dari project seperti com , net atau yang lain  jika kita menuliskan com[dot]portofolio[dot]namaPackage sama saja dengan membuat folder com/portofolio/konektor—> baru nama file kelas seperti di atas kelas KoneksiDatabase.java tapi penamaan tersebut tergantung selera masing masing kalau menurut saya.

selanjutnya coding atau kita buat dulu kelas untuk koneksi database yaitu KoneksiDatabase.java emang bisa yah kelas di gabung sama dengan web atau kelas java di panggil dalam halaman , tentu saja bisa kita bisa menggunakan keyword import karena memang pada dasarnya semua itu kan menggunakan bahasa java. buat file tersebut di com.portofolio.konektor atau klik kanan package yang sudah kita buat tersebut dan pilih new file —> java class kasih nama sesuai dengan selera kali ini saya membuat kelas dengan nama KoneksiDatabase.java

</div>


<pre class="brush: java">/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.portofolio.konektor;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
 *
 * @author arifsetiyawan.com
 */
public class KoneksiDatabase {
    private static Connection koneksi;
    
    

public static Connection getKoneksi(){
try{
    DriverManager.registerDriver(new com.mysql.jdbc.Driver());
    koneksi = DriverManager.getConnection("jdbc:mysql://localhost:3306/portofolio","root","");

}catch(SQLException e){

Logger.getLogger(KoneksiDatabase.class.getName()).log(Level.SEVERE, null, e);
}  
    return koneksi;

 }
}

kelas diatas mempunyai peran sebagai connector dari script untuk mengeksekusi database nantinya. terdapat method static dengan tipe Connection dengan return value berupa koneksi yang bertipe Connection pula, kelas di atas nantinya akan dijadikan chek point return value dari koneksi adalah true atau ada datanya atau null tidak ada datanya atau false. perhatikan bagian import import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; merupakan hasil import dari kelas jdbc java sql yang sangt vital peran nya untuk pembuatan aplikasi berbasis database. selanjtunya mari kita lihat dan buat contoh penggunaan kelas KoneksiDatabase.java

<%-- 
    Document   : index
    Created on : Aug 30, 2013, 2:11:56 PM
    Author     : arifsetiyawan.com
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>




index.jsp
selanjutnya file viewall yang akan menampilkan semua data dari database

<%-- 
    Document   : viewall
    Created on : Aug 30, 2013, 2:11:56 PM
    Author     : arifsetiyawan.com
--%>

<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="com.portofolio.konektor.KoneksiDatabase" %>



viewall.jsp
Selanjutnya file untuk membuat data create.jsp diguanakan untuk melakukan inputan

<%-- 
    Document   : viewall
    Created on : Aug 30, 2013, 2:11:56 PM
    Author     : arifsetiyawan.com
--%>
<%@page import="java.sql.SQLException"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="com.portofolio.konektor.KoneksiDatabase" %>




file create.jsp
selanjutnya adalah file update view digunakan untuk melihat detail data tertentu dan merupakan form update untuk melakukan inputan data yang akan di ubah.

<%-- 
    Document   : updateview
    Created on : Sep 3, 2013, 4:33:02 AM
    Author     : arifsetiyawan.com
--%>

<%@page import="com.portofolio.konektor.KoneksiDatabase"%>
<%@page import="java.sql.SQLException"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>




updateview.jsp
kemudian file proses untuk mengupdate akan dilakukan oleh file update.jsp

<%-- 
    Document   : viewall
    Created on : Aug 30, 2013, 2:11:56 PM
    Author     : arifsetiyawan.com
--%>


<%@page import="java.sql.SQLException"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="com.portofolio.konektor.KoneksiDatabase"%>
<%@page import="java.sql.Connection"%>

<%
Connection koneksi=null;
PreparedStatement ps= null;

String id_data = request.getParameter("id_data").trim();
String code_negara=request.getParameter("code_negara");
String nama_negara=request.getParameter("nama_negara");

int idData= Integer.parseInt(id_data);
String sqlQueryUpdate="update countries set ctr_code=?,ctr_name=? where ctr_id=?";


//koneksi = KoneksiDatabase.getKoneksi();

//st = koneksi.prepareStatement("");

try{
koneksi =KoneksiDatabase.getKoneksi();
ps = koneksi.prepareStatement(sqlQueryUpdate);
ps.setString(1, code_negara);
ps.setString(2, nama_negara);
ps.setInt(3, idData);

ps.executeUpdate();

out.println("Record is updated
");
out.println("Tampilkan Data seluruhnya");

}catch(SQLException ex){
out.println(ex);

}finally{

    if(ps != null){
    ps.close();
    }
    if(koneksi != null){
    
    koneksi.close();
    }
}

%>

update.jsp
selanjutnya kita akan membuat proses delete yang akan di tangi oleh file delete.jsp

<%-- 
    Document   : delete
    Created on : Sep 2, 2013, 4:13:53 AM
    Author     : arifsetiyawan.com
--%>
<%@page import="java.sql.SQLException"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="com.portofolio.konektor.KoneksiDatabase"%>
<%@page import="java.sql.Connection"%>

<%
Connection koneksi=null;
PreparedStatement ps= null;

String id_data = request.getParameter("id").trim();
String code_negara=request.getParameter("code_negara");
String nama_negara=request.getParameter("nama_negara");

int idData= Integer.parseInt(id_data);
String sqlQueryDelete="delete from countries  where ctr_id=?";


//koneksi = KoneksiDatabase.getKoneksi();

//st = koneksi.prepareStatement("");

try{
koneksi =KoneksiDatabase.getKoneksi();
ps = koneksi.prepareStatement(sqlQueryDelete);
ps.setInt(1, idData);

ps.executeUpdate();

out.println("data telah dengan nama negara:"+nama_negara+" dan code negara "+code_negara+" berhasil di hapus 
");
out.println("Tampilkan Data seluruhnya");

}catch(SQLException ex){
out.println(ex);

}finally{

    if(ps != null){
    ps.close();
    }
    if(koneksi != null){
    
    koneksi.close();
    }
}

%>

delete.jsp
kelas di atas merpukan proses delete yang akan bersinggungan langsung dengan database  kelas yang penting yang diambil dari library JDBC dan selalu digunakan dalam proses database menggunakan java adalah Statement, ResultSet,PreparedStatement,DriverConnection,SQLException  untuk kelas database tersebut akan dibahas pada tulisan yang lain, disini saya ingin mencontohkan pembuatan aplikasi web sederhana banget dengan jsp untuk file contoh bisa di unduh dibawah ini. semoga bermanfaat .

Contoh Crud dengan Jsp sederhana atau lewat github