Press "Enter" to skip to content

Hibernate Read İşlemi – JSP

Bedirhan Sağlam 0

Önceki Yazımızda CREATE işlemini görmüştük. Önceki yazımız biraz uzun olduğundan Hibernate Read , Update ve Delete işlemlerini ayrı ayrı ele almaya karar verdim.

Read işlemini yapabilmek için dao paketindeki YoneticiDao sınıfına List tipinde getAllData() isimli metodu yazıyoruz.

YoneticiDao.java :

package dao;

import java.io.Console;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;  
import org.hibernate.cfg.Configuration;


public class YoneticiDao {

	public  int register(Yonetici u){  
		 int i=0;  
		 Session session=new Configuration().  
		  configure().buildSessionFactory().openSession();  
		          
		  Transaction t=session.beginTransaction();  
		  t.begin();  
		                  
		  i=(Integer)session.save(u);  
		                  
		  t.commit();  
		  session.close();  
		    
		  return i;  
		 }  
	
	public List getAllData()
	{
		List yoneticiler=null;
		Session session=new Configuration().  
				  configure().buildSessionFactory().openSession();  
	      Transaction tx = null;
	      try {
	         tx = session.beginTransaction();
	         yoneticiler = session.createQuery("FROM Yonetici").list();
	         tx.commit();
	         return yoneticiler;
	      } catch (HibernateException e) {
	         if (tx!=null) tx.rollback();
	         e.printStackTrace(); 
	      } finally {
	         session.close(); 
	      }

	      return yoneticiler;	
	}
}

Session session=new Configuration().
configure().buildSessionFactory().openSession();
 Oturumumuzu açıyoruz.

tx = session.beginTransaction();  Transaction yönetimini sağlayabilmek için sessionumuzu transactional olarak yönetilebilir bir hale getirmekteyiz. Hatalı bir durum olduğunda veri kaydetme işlemini bu sayede geri alarak tüm işlemlerin sağlıklı olarak çalışmasını sağlamaktayız.

yoneticiler = session.createQuery("FROM Yonetici").list(); Burada veritabanında ki kayıtlı yöneticileri çekiyoruz.

return yoneticiler; ile yönetici listesini return ediyoruz.

önceki yazımızda leftmenu.jsp de readYonetici.jsp adında bir link oluşturmuştuk bu linki çalıştırmak için Webcontente readYonetici.jsp ekleyelim.  Burada veritabanındaki kayıtlı kullanıcıları çekelim ve bir tablo halinde kullanıcıya gösterelim.

readYonetici.jsp:

<%@ page language="java" contentType="text/html; charset=ISO-8859-9"
    pageEncoding="ISO-8859-9"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%@ page import="java.util.Iterator" %>
<%@page import="dao.Yonetici" %>
    <!DOCTYPE html>
<html>
<head>
<link href="css/Table.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="js/Table.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link href="css/Form.css" rel="stylesheet" type="text/css">
</head>
<body>
<jsp:include page="leftMenu.jsp"></jsp:include>
<jsp:useBean id="yoneticiDao" class="dao.YoneticiDao"></jsp:useBean>
<jsp:useBean id="yonetici" class="dao.Yonetici"></jsp:useBean>

<div id="main">
<%if(request.getParameter("silindimi")!=null)
	{%><div class="alert-success">
	  <span class="closebtn" onclick="this.parentElement.style.display='none';">×</span> 
	  Yönetici başarıyla silindi
	  </div><%}%>
<%if(request.getParameter("guncellendi")!=null)
	{%><div class="alert-success">
	  <span class="closebtn" onclick="this.parentElement.style.display='none';">×</span> 
	  Yönetici başarıyla Güncellendi
	  </div><%}%>
<input type="text" id="myInput" onkeyup="myFunction()" placeholder="isim ara..."/>

<table id="myTable">
  <tr class="header">
    <th style="width:20%;">Ad</th>
    <th style="width:20%;">Soyad</th>
    <th style="width:20%;">Email</th>
    <th style="width:20%;">Şifre</th>
    <th style="width:10%;">Güncelle</th>
    <th style="width:10%;">Sil</th>
  </tr>
  <% Iterator iterator = yoneticiDao.getAllData().iterator();
  while(iterator.hasNext()){ yonetici=(Yonetici)iterator.next(); %>
  <tr>
    <td><%=yonetici.getAd() %></td>
    <td><%=yonetici.getSoyad() %></td>
    <td><%=yonetici.getEmail() %></td>
    <td><%=yonetici.getSifre() %></td>
    <td><a href='updateYonetici.jsp?id=<%=yonetici.getAdminID()%>'><span class="glyphicon glyphicon-edit" style="font-size:24px; color:green;"></span></a></td>
    <td><a href='deleteYoneticiControl.jsp?id=<%=yonetici.getAdminID()%>'><span class="glyphicon glyphicon-remove" style="font-size:24px; color:red;"></span></a></td>
  </tr>
  <%} %>
</table>
</div>
</body>
</html>

 

Table.css:

#myInput {
    width: 70%; /* Full-width */
    font-size: 16px; /* Increase font-size */
    padding: 12px 20px 12px 40px; /* Add some padding */
    border: 1px solid #ddd; /* Add a grey border */
    margin-bottom: 12px; /* Add some space below the input */
}

#myTable {
    border-collapse: collapse; /* Collapse borders */
    width: 100%; /* Full-width */
    border: 1px solid #ddd; /* Add a grey border */
    font-size: 18px; /* Increase font-size */
}

#myTable th, #myTable td {
    text-align: left; /* Left-align text */
    padding: 12px; /* Add padding */
}

#myTable tr {
    /* Add a bottom border to all table rows */
    border-bottom: 1px solid #ddd; 
}

#myTable tr.header, #myTable tr:hover {
    /* Add a grey background color to the table header and on hover */
    background-color: #f1f1f1;
}

 

Table.js:

function myFunction() {
  // Declare variables 
  var input, filter, table, tr, td, i;
  input = document.getElementById("myInput");
  filter = input.value.toUpperCase();
  table = document.getElementById("myTable");
  tr = table.getElementsByTagName("tr");

  // Loop through all table rows, and hide those who don't match the search query
  for (i = 0; i < tr.length; i++) {
    td = tr[i].getElementsByTagName("td")[0];
    if (td) {
      if (td.innerHTML.toUpperCase().indexOf(filter) > -1) {
        tr[i].style.display = "";
      } else {
        tr[i].style.display = "none";
      }
    } 
  }
}

 

Iterator iterator = yoneticiDao.getAllData().iterator(); ile Yönetici listesini alıyoruz.

 

while(iterator.hasNext()){ yonetici=(Yonetici)iterator.next(); Listedeki yöneticileri , Yonetici sınıfından aldığımız örneğe aktarıp , bu örneğin ad,soyad,… gibi özelliklerini tabloda gösteriyoruz.

Şimdide UPDATE işlemi için sonraki yazımıza geçebiliriz:

Hibernate Update İşlemi – JSP

 

KAYNAK:

https://www.tutorialspoint.com/hibernate/hibernate_examples.htm

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir