Önceki yazımızda Hibernate Read işleminden bahsetmiştik. Bu yazımızda Hibernate Update işlemine değineceğiz. Öncelikle dao paketindeki YoneticiDao sınıfımıza getYonetici isimli method ekleyerek başlayalım. getYonetici‘nin eklenme amacı güncellenecek yöneticiyi kullanıcıya göstermektir. Daha sonra updateYonetici metodu ile yoneticiyi güncelleyelim.
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;
}
}
updateYonetici.jsp oluşturalım ve buraya güncellenecek yöneticinin bilgilerini çekelim.
updateYonetici.jsp:
<%@ page language="java" contentType="text/html; charset=ISO-8859-9"
pageEncoding="ISO-8859-9"%>
<%@ page import = "java.io.*,java.util.*, javax.servlet.*" %>
<%@ page import = "java.io.*,java.util.*" %>
<%@ page import = "javax.servlet.*,java.text.*" %>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%@page import="dao.Yonetici" %>
<%
request.setCharacterEncoding("ISO-8859-9");
%>
<!DOCTYPE html>
<html>
<head>
<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>
<% yonetici=yoneticiDao.getYonetici(Integer.parseInt(request.getParameter("id")));%>
<div id="main">
<div class="container">
<form action="updateYoneticiControl.jsp?id=<%=Integer.parseInt(request.getParameter("id"))%>" method="post">
<div class="row">
<div class="col-25">
<label for="fname">Güncellenecek İsim</label>
</div>
<div class="col-75">
<input type="text" id="fname" name="ad" value='<%=yonetici.getAd()%>' placeholder="Yönetici Adı">
</div>
</div>
<div class="row">
<div class="col-25">
<label for="lname">Güncellenecek Soyisim</label>
</div>
<div class="col-75">
<input type="text" id="lname" name="soyad" value='<%=yonetici.getSoyad()%>' placeholder="Yönetici Soyadı">
</div>
</div>
<div class="row">
<div class="col-25">
<label for="email">Güncellenecek E-mail</label>
</div>
<div class="col-75">
<input type="text" id="email" name="email" value='<%=yonetici.getEmail()%>' placeholder="Yönetici E mail">
</div>
</div>
<div class="row">
<div class="col-25">
<label for="pword">Güncellenecek Şifre</label>
</div>
<div class="col-75">
<input type="password" id="pword" name="sifre" value='<%=yonetici.getSifre()%>' placeholder="Yönetici Şifresi">
</div>
</div>
<div class="row">
<input type="submit" value="GÜNCELLE">
</div>
</form>
</div>
</div>
</body>
</html>
Çekilen bilgiler kullanıcıya gösteriliyor ve güncellenecek alanlar güncelleniyor. Güncelle butonuna tıklandıktan sonra updateYoneticiControl.jsp sayfamıza gidiyoruz. Burada güncelleme işlemini yapıyoruz.
updateYoneticiControl.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="yonetici" class="dao.Yonetici"></jsp:useBean>
<jsp:setProperty property="*" name="yonetici"/>
<jsp:useBean id="butunislemler" class="islemler.ButunIslemler"></jsp:useBean>
<jsp:useBean id="yoneticiDao" class="dao.YoneticiDao"></jsp:useBean>
<html>
<head>
</head>
<body>
<div id="main">
<% Date nowDate = new Date();
SimpleDateFormat ft = new SimpleDateFormat ("ddMMuyyyy hh:mm:ss");
String tarih=butunislemler.tarihCevir(ft.format(nowDate));
yonetici.setSistemegiris(tarih);
yonetici.setAdminID(Integer.parseInt(request.getParameter("id")));
if(yoneticiDao.updateYonetici(yonetici))
response.sendRedirect("readYonetici.jsp?guncellendi=1");
%>
</div>
</body>
</html>
Böylece UPDATE işlemini de bitirmiş olduk. Sırada DELETE işlemi var:
KAYNAK:
https://www.tutorialspoint.com/hibernate/hibernate_examples.htm