Arkadaşlar merhabalar , updating işlemine geçiyoruz bu kısım biraz meşakatli yani yorucu :) evet geçelim
Öncelikle önceki 2 ders var listenin ve insert onları okuyup buraya gelmeniz gerekiyor aksi takdirde bir şey anlamayacaksınız önceki derslerin devamındayız.
UserDao.java'ya 2 method ekledik ;
User getUserById(int id);boolean updateUser(User user);
burada getUserById ile bir kullanıcıyı id'sine göre buluyoruz ve updateUser ile de post edeceğimiz formun değerlerini user oluşturarak buradaki updateUser methoduna veriyoruz.
UserDaoImpl.java'ya da önceki UserDao interfacesinde eklediğimiz 2 methodu override yazıp içerisini doldurduk.Kodları kitap okur gibi okuyun.Ne anlatıyor ?
private final String GET_USERBYID = "Select * from user where id = ?";private final String UPDATE_USER = "UPDATE user SET username = ? , password = ? where id = ?";@Overridepublic User getUserById(int id) {Connection connect = null;PreparedStatement pStatement = null;ResultSet resultSet = null;User user = null;String username = "", password = "";try {connect = Connectivity.getConnection();pStatement = connect.prepareStatement(GET_USERBYID);pStatement.setInt(1, id);resultSet = pStatement.executeQuery();while (resultSet.next()) {username = resultSet.getString("username");password = resultSet.getString("password");}user = new User(id, username, password);} catch (Exception e) {e.printStackTrace();} finally {try {if (!pStatement.isClosed())pStatement.close();if (!connect.isClosed())connect.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return user;}@Overridepublic boolean updateUser(User user) {Connection connect = null;PreparedStatement pStatement = null;int result = 0;try {connect = Connectivity.getConnection();pStatement = connect.prepareStatement(UPDATE_USER);pStatement.setString(1, user.getUsername());pStatement.setString(2, user.getPassword());pStatement.setInt(3, user.getId());result = pStatement.executeUpdate();} catch (Exception e) {e.printStackTrace();} finally {try {if (!pStatement.isClosed())pStatement.close();if (!connect.isClosed())connect.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return result > 0;}
VE son olarak da updateUser.jsp adlı bir dosya oluşturdum şimdi bunun içeriğini atıyorum;
<%@page import="com.junior.entity.User"%><%@page import="com.junior.dao.*"%><%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><body><%int id = Integer.parseInt(request.getParameter("id"));UserDao userDao = new UserDaoImpl();User user = userDao.getUserById(id);String updatePost = request.getParameter("update");String result = "";if(updatePost != null){User newUser = new User(id,request.getParameter("username"),request.getParameter("password"));boolean answer = userDao.updateUser(newUser);user = userDao.getUserById(id);if(answer) result ="Updated";}%><%= result %><form action="updateUser.jsp" method="post">Username : <input type="text" name="username" value="<%= user.getUsername() %>" />Password : <input type="text" name="password" value="<%= user.getPassword() %>"/><input type="hidden" name="id" value="<%= user.getId() %>" /><input type="submit" value="Update" name="update" /></form><a href="index.jsp">Home Page</a></body></html>
Güncelliyoruz
Son hali
Arkadaşlar jspde son dersimiz olan deleting kısmına geçiyoruz...