önceki yazımızda Hibernate Update İşlemini gerçekleştirmiştik. Sırada CRUD işlemlerinin sonuncusu olan Hibernate Delete işlemi var. Öncelikle dao paketindeki YoneticiDao sınıfımıza deleteYonetici adında bir method ekleyelim. Burada session oluşturup adminID üzerinden veritabanından Yönetici verisini sileceğiz.
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;
}
public Yonetici getYonetici(int adminID)
{
Yonetici yonetici=new Yonetici();
Session session=new Configuration().
configure().buildSessionFactory().openSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
yonetici = (Yonetici)session.get(Yonetici.class,adminID);
tx.commit();
return yonetici;
} catch (HibernateException e) {
if (tx!=null) tx.rollback();
e.printStackTrace();
} finally {
session.close();
}
return yonetici;
}
public boolean updateYonetici(Yonetici y)
{
Yonetici yonetici=y;
Session session=new Configuration().
configure().buildSessionFactory().openSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
session.update(yonetici);
tx.commit();
return true;
} catch (HibernateException e) {
if (tx!=null) tx.rollback();
e.printStackTrace();
} finally {
session.close();
}
return false;
}
public boolean deleteYonetici(int adminID)
{
Yonetici yonetici=new Yonetici();
Session session=new Configuration().
configure().buildSessionFactory().openSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
yonetici = (Yonetici)session.get(Yonetici.class,adminID);
session.delete(yonetici);
tx.commit();
return true;
} catch (HibernateException e) {
if (tx!=null) tx.rollback();
e.printStackTrace();
} finally {
session.close();
}
return false;
}
}
readYonetici.jsp de link verdiğimiz deleteYoneticiControl.jsp sayfamızı oluşturalım ve gönderilen adminID li yöneticiyi silelim.
deleteYoneticiControl.jsp:
<%@ page language="java" contentType="text/html; charset=ISO-8859-9"
pageEncoding="ISO-8859-9"%>
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<%@ page import = "java.io.*,java.util.*" %>
<%@ page import = "javax.servlet.*,java.text.*" %>
<%@ page import="java.util.Date" %>
<%
request.setCharacterEncoding("ISO-8859-9");
%>
<!DOCTYPE html>
<jsp:useBean id="yoneticiDao" class="dao.YoneticiDao"></jsp:useBean>
<html>
<head>
</head>
<body>
<div id="main">
<% if(yoneticiDao.deleteYonetici(Integer.parseInt(request.getParameter("id"))))
{
response.sendRedirect("readYonetici.jsp?silindimi=1");
}
%>
</div>
</body>
</html>
Silme işleminide tamamladığımıza göre CRUD serisini tamamlamış olduk.
Teşekkürler…