2023. 1. 18. 23:49

executeUpdate 編

 

なんか変化をしたいとき、使うメソッドだ。

今回はDAOと、jspを作ってやってた。

いままでのEmployeeDAOだ。

次はjspです。入力と処理を担当するjspだ。

<%--
  Created by IntelliJ IDEA.
  User: daman
  Date: 2023-01-18
  Time: 오후 11:30
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="com.sora.webapptest.dao.EmployeeDAO" %>
<%@ page import="com.sora.webapptest.dto.Employee" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%
    request.setCharacterEncoding("utf-8");
    String name = request.getParameter("name");
    String email = request.getParameter("email");
    Employee employee = new Employee();
    employee.setLast_name(name);
    employee.setEmail(email);

    EmployeeDAO dao = new EmployeeDAO();
    int result = dao.insertEmp(employee);
    if (result == 1) {
        response.sendRedirect("add_employee.jsp");
    } else {
        out.println("오류 발생");
    }
%>
</body>
</html>
<%--
  Created by IntelliJ IDEA.
  User: daman
  Date: 2023-01-18
  Time: 오후 11:23
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<h2>사원 추가</h2>
<form method="post" action="add_employee_ok.jsp">
    이름: <input type="text" name="name"> <br/>
    E-mail: <input type="email" name="email"> <br/>
    <input type="submit" value="추가"/>
</form>

</body>
</html>
package com.sora.webapptest.dao;

import com.sora.webapptest.basedao.BaseDAO;
import com.sora.webapptest.dto.Employee;

import java.util.List;

public class EmployeeDAO extends BaseDAO<Employee> {

    public List<Employee> getEmpList() {
        String sql = "select employee_id, first_name, last_name, email from employees";
        return executeQuery(sql, (Object[]) null);
    }

    public Employee getEmpById(int id) {
        String sql = "select * from employees where employee_id = ?";
        return load(sql, id);
    }

    public int insertEmp(Employee employee) {
        String sql = "insert into employees(employee_id, last_name, email, hire_date, job_id) values (" +
                "employees_seq.nextval, ?, ?, sysdate, 'IT_PROG')";
        return executeUpdate(sql, employee.getLast_name(), employee.getEmail());
    }
}
protected int executeUpdate(String sql, Object... params) {
    try {
        conn = getConn();
        pstmt = conn.prepareStatement(sql);
        setParams(pstmt, params);

        return pstmt.executeUpdate();
    } catch (SQLException e) {
        throw new RuntimeException(e);
    } finally {
        close(rs, pstmt, conn);
    }
}

'JAVA' 카테고리의 다른 글

파일업로드 구현  (1) 2023.01.30
DispatcherServlet  (0) 2023.01.23
DAO JDBC #2  (0) 2023.01.18
DAO jdbc  (0) 2023.01.18
Servletでいまの時間を表示する  (0) 2023.01.01
Posted by 다만사