- Beranda
- Komunitas
- Tech
- Programmer Forum
[HELP DAO] Retrive data mysql dengan JSON dan servlet


TS
jelekbgd
[HELP DAO] Retrive data mysql dengan JSON dan servlet

sebelumnya buat momod ane izin buat thread ya.
langsung aja.
gini gan ane kan nubie nih dengan istilah DAO serta penggunaan servlet, json, jquery, dan mysql.
jadi ane lg buat tugas CRUD dengan DAO.
disini UI nya ane gunain Jquery
Controler ane gunain servlet
dan databasenya ane gunain mysql.
Quote:
Script AnggotaDao.java
import com.qrcode.model.Anggota;
import com.qrcode.util.ConnectionUtil;
import java.io.PrintWriter;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
/**
*
* @author newbiecihuy
*/
public class AnggotaDao {
Connection connection = null;
PreparedStatement preparedStatement = null;
Statement statement = null;
ResultSet rs = null;
public AnggotaDao() throws Exception {
connection = ConnectionUtil.getConnection();
}
public void addAnggota(Anggota anggota) {
try {
preparedStatement = connection.prepareStatement("INSERT INTO anggota(id_anggota,nama_anggota,kelas)"
+ " VALUES (?, ?, ?)");
preparedStatement.setString(1, anggota.getId());
preparedStatement.setString(2, anggota.getNama());
preparedStatement.setString(3, anggota.getKelas());
preparedStatement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (preparedStatement != null) {
preparedStatement.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
public void updateAnggota(Anggota anggota) {
}
public ArrayList<Anggota> getAllAnggota() throws Exception {
PrintWriter out = null;
JSONArray array = new JSONArray();
ArrayList<Anggota> anggotaList = (ArrayList<Anggota>

try {
statement = connection.createStatement();
// rs = statement.executeQuery("select * from anggota");
rs = statement.executeQuery("select * from anggota");
//while (rs.next()) {
//Anggota anggota = new Anggota();
for (int i = 0; i < anggotaList.size(); i++) {
JSONObject obj = new JSONObject();
Anggota anggota = anggotaList.get(i);
if (anggota.getId() == null) {
obj.put("id_anggota", "");
} else {
obj.put("id_anggota", anggota.getId());
}
if (anggota.getNama() == null) {
obj.put("nama_anggota", "");
} else {
obj.put("nama_anggota", anggota.getNama());
}
if (anggota.getKelas() == null) {
obj.put("kelas", "");
} else {
obj.put("kelas", anggota.getKelas());
}
array.add(obj);
anggotaList.add(anggota);
// anggota.setId(rs.getString("id_anggota"));
// anggota.setNama(rs.getString("nama_anggota"));
// anggota.setKelas(rs.getString("kelas"));
//anggotaList.add(anggota);
}
JSONObject rows = new JSONObject();
rows.put("results", anggotaList.size());//results
rows.put("rows", array);
out.print(" anggotaList : " + rows.toString());
out.print(rows.toString());
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (preparedStatement != null) {
preparedStatement.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
return anggotaList;
}
public void deleteAnggota(String id_anggota) {
try {
preparedStatement = connection.prepareStatement("delete from anggota where id_anggota=?");
preparedStatement.setString(1, id_anggota);
preparedStatement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (preparedStatement != null) {
preparedStatement.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
Quote:
Script AnggotaServlet.java
import com.qrcode.dao.impl.AnggotaDao;
import com.qrcode.model.Anggota;
import com.qrcode.util.ConnectionUtil;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
/**
*
* @author newbiecihuy
*/
public class AnggotaServlet extends HttpServlet {
private AnggotaDao anggotaDao;
Statement statement = null;
public AnggotaServlet() throws Exception {
super();
anggotaDao = new AnggotaDao();
}
/**
* Processes requests for both HTTP
* <code>GET</code> and
* <code>POST</code> methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
/*
* TODO output your page here out.println("<html>");
* out.println("<head>"); out.println("<title>Servlet
* AnggotaServlet</title>"); out.println("</head>");
* out.println("<body>"); out.println("<h1>Servlet AnggotaServlet at
* " + request.getContextPath () + "</h1>"); out.println("</body>");
* out.println("</html>");
*/
} finally {
out.close();
}
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
* Handles the HTTP
* <code>GET</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//processRequest(request, response);
PrintWriter out = response.getWriter();
// try {
//SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
//System.out.println("cek size " + anggotaDao.getAllAnggota().size());
try {
System.out.println("GET IN");
ConnectionUtil connectionUtil = new ConnectionUtil();
AnggotaDao anggotaDao = new AnggotaDao();
ArrayList<Anggota> anggotasList = null;
System.out.println("cek size " + anggotasList.size());
Connection connection = connectionUtil.getConnection();
anggotasList = anggotaDao.getAllAnggota();
System.out.println("GET END");
} catch (Exception ex) {
out.println("Error: " + ex.getMessage());
} finally {
out.close();
}
//AnggotaDao anggotaDao = new AnggotaDao();
//ConnectionUtil conn = new ConnectionUtil();
//ArrayList<Anggota> anggotalist = (ArrayList<Anggota>

// Connection connection = ConnectionUtil.getConnection();
//anggota = anggotaDao.getAllAnggota();
//int i = 0 ;
//anggotaDao.getAllAnggota().get(i);
// JSONArray array = new JSONArray();
// for (int i = 0; i < anggotalist.size(); i++) {
//
// JSONObject obj = new JSONObject();
// Anggota anggota = anggotalist.get(i);
//
// if (anggota.getId() == null) {
// obj.put("id_anggota", "");
// } else {
// obj.put("id_anggota", anggota.getId());
// }
// if (anggota.getNama() == null) {
// obj.put("nama_anggota", "");
// } else {
// obj.put("nama_anggota", anggota.getNama());
// }
// if (anggota.getKelas() == null) {
// obj.put("kelas", "");
// } else {
// obj.put("kelas", anggota.getKelas());
// }
// array.add(obj);
// }
// statement.close();
// JSONObject rows = new JSONObject();
// rows.put("results", anggotalist.size());//results
// rows.put("rows", array);
// System.out.println(" koleksiList : " + rows.toString());
// out.print(rows.toString());
// out.close();
//
// } catch (Exception ex) {
// out.println("Error: " + ex.getMessage());
// } finally {
// out.close();
// }
// RequestDispatcher view = request.getRequestDispatcher(forward);
// view.forward(request, response);
}
/**
* Handles the HTTP
* <code>POST</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// processRequest(request, response);
System.out.println("POST IN");
JSONArray array = (JSONArray) net.sf.json.JSONSerializer.toJSON(request.getParameter("JSONFile"));
// String id_anggota = request.getParameter("id_anggota");
// String nama_anggota = request.getParameter("id_anggota");
// String kelas = request.getParameter("kelas");
Anggota anggota = null;
String id_anggota = null;
String nama_anggota = null;
String action = null;
String kelas = null;
for (int i = 0; i < array.size(); i++) {
JSONObject object = array.getJSONObject(0);
object = array.getJSONObject(i);
id_anggota = object.getString("id_anggota");
nama_anggota = object.getString("nama_anggota");
kelas = object.getString("kelas");
action = object.getString("action");
if (object.getString("id_anggota") != null || !object.getString("id_anggota").equals("") && action.equalsIgnoreCase("insert")) {
System.out.println("entered insert function");
anggota = new Anggota();
anggota.setId(id_anggota);
anggota.setNama(nama_anggota);
anggota.setKelas(kelas);
anggotaDao.addAnggota(anggota);
System.out.println(id_anggota + "\n " + nama_anggota + "\n " + kelas);
} else if (object.getString("id_anggota") != null || !object.getString("id_anggota").equals("") && action.equalsIgnoreCase("update") || "update".equals(action)) {
System.out.println("Entered Update Function");
anggotaDao.updateAnggota(anggota);
} else if (action.equalsIgnoreCase("delete") || "delete".equals(action)) {
System.out.println("Entered Delete Function");
id_anggota = object.getString("id_anggota");
anggotaDao.deleteAnggota(id_anggota);
}
}
}
/**
* Returns a short description of the servlet.
*
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}
Quote:
Script Anggota.jsp
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<%--script--%>
[removed][removed]
[removed]
//Grid Anggota
jQuery("#gridAnggota").jqGrid({
url:"anggotaServlet",
datatype:"json",
mtype: 'GET',
colNames:['ID Anggota','Nama Anggota','Kelas'],
colModel:[{
name:'id_anggota',
index:'id_anggota',
//hidden:true,
width:100
},{
name:'nama_anggota',
index:'nama_anggota',
width:150
},{
name:'kelas',
index:'kelas',
width:150
}],
jsonReader:{
root:"rows",
page: "currpage",
total: "totalpages",
records: "totalrecords",
repeatitems: false,
id: "id_anggota"
},
viewrecords : true,
rownumbers : true,
height: 300,
width: 850,
pager :'#rowsgridAnggota',
sortname :'id_anggota',
rowNum :10,
rowList:[10,50,100]
// caption :'Daftar Contact ',
}) ;
jQuery("#gridAnggota").jqGrid('navGrid','#rowsgridAnggota',{
add:false,
del:false,
search:true,
edit:false
},{
reloadAfterSubmit:true
},{
reloadAfterSubmit:true
}).navButtonAdd('#rowsgridAnggota',{
caption:"",
title:"Delete",
buttonicon:"deleteButton",
onClickButton: function() {
}
//}
});
function cekNum(){
var $num = $("#kelas").val();
for(var a = 0 ; a < $num.length; a++){
var angka = /^[0-9]+$/;
if(!$num.match(angka)){
$("#content").text("Field Kelas hanya boleh diisi angka").removeClass('success').addClass('error').css({
'color':'red'
//'background': 'url(../SMSBlackstones/images/icons/cross.png) 4px 0 no-repeat'
});
$("#kelas").val('');
return false;
}
}
}
[removed]
</head>
<body>
<%--<div id="container">
<div id="generator">--%>
<form id="form_Anggota" name="form_anggota">
<fieldset class="ui-widget ui-widget-content ui-corner-all" >
<p id="content" class="message success" ></p>
<legend class="ui-widget ui-widget-content ui-corner-all">Input Data Anggota Perpustakaan</legend><br/>
<fieldset>
<table cellpadding="0" cellspacing="0" class="table">
<tr>
<p>
<label><td>ID Anggota</td><td>:</td></label>
<td><input type="text" name="id_anggota" id="id_anggota" class="required ui-widget-content" size="15"/></td> <!--readonly="readonly"-->
</p>
</tr>
<tr>
<p>
<label><td>Nama Anggota</td><td>:</td></label>
<td><input type="text" name="nama_anggota" id="nama_anggota" class="required ui-widget-content" size="15"/></td>
</p>
</tr>
<tr>
<p>
<label><td>Kelas</td><td>:</td></label>
<td><input type="text" name="kelas" id="kelas" ></td>
</p>
</tr>
<input type="hidden" name="action" id="action" value ="insert" class="required ui-widget-content" size="15"/>
</table>
</fieldset>
<input type="submit" value="Daftar" id="btn_daftar"/> <input type="reset" value="Reset" id="btn_reset"/>
</fieldset>
</form>
<form>
<fieldset class="ui-widget ui-widget-content ui-corner-all" >
<legend class="ui-widget ui-widget-header ui-corner-all">List Anggota Perpustakaan</legend>
<table id="gridAnggota">
</table>
<div id="rowsgridAnggota"></div>
</fieldset>
</form>
<%-- </div>
</div>--%>
</body>
</html>
Quote:
Script anggota.js
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
$(document).ready(function(){
// $("#btn_generate").click().submit(function(){
var pesan = $("#content");
//var dataString = $("#form_data").serialize();
$("#form_Anggota").submit(function(){
//alert("entered function");users
if($("#id_anggota").val() == ""){
pesan.text("Filed Id Anggota tidak boleh kosong").removeClass('success').addClass('error').css({
'color':'red',
'background': 'url() 1px 0 no-repeat'
});
$("#id_anggota").focus();
return false;
}
if($("#nama_anggota").val() == ""){
pesan.text("Filed Nama Anggota tidak boleh kosong").removeClass('success').addClass('error').css({
'color':'red',
'background': 'url() 1px 0 no-repeat'
});
$("#nama_anggota").focus();
return false;
}
if($("#kelas").val() == ""){
pesan.text("Field Kelas tidak boleh kosong").removeClass('success').addClass('error').css({
'color':'red',
'background': 'url() 1px 0 no-repeat'
});
$("#kelas").focus();
return false;
}
$.ajax({
url :"anggotaServlet",
type:"POST",
data:'JSONFile=' + '[' +$.toJSON($("#form_Anggota").serializeObject())+"]",
//success: success
//data: dataString,
success: function(){
$('#content').html('<p>You have successfully !</p>');
}
})
alert("POST-Data Anggota");
$('#form_Anggota')[0].reset();
return false;
});
});
jadi ketika ane membuat Method POST pada jquery data berhasil masuk ke database, tetapi ketika ane gunain Method GET data nya tidak tampil di jqgrid.
kira2 agan ada yang bisa bantuin
kira2 masalahnya dimana ya gan.

Diubah oleh jelekbgd 28-08-2013 13:44
0
1.9K
Kutip
4
Balasan


Komentar yang asik ya
Urutan
Terbaru
Terlama


Komentar yang asik ya
Komunitas Pilihan