[목차]
01. DAO(Date Access Object)
💡
➡️ DAO는 데이터베이스의 data에 접근하기 위한 객체입니다.
➡️ 데이터베이스에 접근하기 위한 로직&비지니스 로직을 분리하기 위해 사용합니다.
02. DTO_DAO insert 처리
💡
1️⃣ DAO 클래스 생성 후 insert 쿼리 메서드를 생성합니다..
2️⃣ 오버로딩 개념을 사용해서 입력 2개와 1개를 받는 메서드 선언합니다.
3️⃣ 메서드 내부 처리 과정으로 JDBC 프로그램 7단계를 넣습니다.
4️⃣ JSP에서 DAO 객체 생성 후 메서드를 호출합니다.
5️⃣ 입력 자료들은 DTO로 처리 후 세팅하고 DAO에서 겟팅합니다.
6️⃣ 페이지를 리다이렉트 합니다.
[코드예제] Udao.java
package kr.or.dao; import kr.or.driverdb.DriverDB; import kr.or.dto.User; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; public class Udao { // 전역에 각각 데이터타입의 객체참조변수를 선언 User u = null; Connection conn = null; PreparedStatement pstmt = null; // 2. insert 처리 메서드(매개변수 하나) public void mInsert(User u) throws SQLException, ClassNotFoundException { System.out.println("mInsert 메서드 Udao.java"); // 1-2단계 드라이버 실행, DB연결 DriverDB db = new DriverDB(); conn = db.driverDbcon(); System.out.println(conn + "<- conn Udao.java"); // 3단계 쿼리 실행 준비 pstmt = conn.prepareStatement("INSERT INTO tb_user values (?, ?, ?, ?, ?, ?, ?)"); pstmt.setString(1, u.getU_id()); pstmt.setString(2, u.getU_pw()); pstmt.setString(3, u.getU_level()); pstmt.setString(4, u.getU_name()); pstmt.setString(5, u.getU_email()); pstmt.setString(6, u.getU_phone()); pstmt.setString(7, u.getU_addr()); System.out.println(pstmt + "<- pstmt Udao.java"); // 4단계 쿼리 실행 pstmt.executeUpdate(); // 5단계 쿼리 실행 결과 사용(생략) // 6단계 객체 종료 pstmt.close(); // 7단계 DB연결 종료 conn.close(); } // 1. insert 처리 매서드(매개변수 두개) public void mInsert(User u, Connection conn) throws SQLException, ClassNotFoundException { System.out.println("mInsert 메서드 Udao.java"); // 1-2단계 드라이버 실행, DB연결 DriverDB db = new DriverDB(); conn = db.driverDbcon(); System.out.println(conn + "<- conn Udao.java"); // 3단계 쿼리 실행 준비 pstmt = conn.prepareStatement("INSERT INTO tb_user values (?, ?, ?, ?, ?, ?, ?)"); pstmt.setString(1, u.getU_id()); pstmt.setString(2, u.getU_pw()); pstmt.setString(3, u.getU_level()); pstmt.setString(4, u.getU_name()); pstmt.setString(5, u.getU_email()); pstmt.setString(6, u.getU_phone()); pstmt.setString(7, u.getU_addr()); System.out.println(pstmt + "<- pstmt Udao.java"); // 4단계 쿼리 실행 pstmt.executeUpdate(); // 5단계 쿼리 실행 결과 사용(생략) // 6단계 객체 종료 pstmt.close(); // 7단계 DB연결 종료 conn.close(); } }
[코드예제] user_insert_action.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <!DOCTYPE html> <%@ page import="kr.or.dao.Udao" %> <% request.setCharacterEncoding("euc-kr"); %> // post 한글처리 // java bean 액션태그(DTO) <jsp:useBean id="u" class="kr.or.dto.User"/> <jsp:setProperty name="u" property="*"/> <% // Udao 객체 생성 후 메서드 호출 Udao udao = new Udao(); udao.mInsert(u); // 실행 후 페이지 리다이렉트 response.sendRedirect(request.getContextPath()+"/usersearch/user_search_list.jsp"); %>
03. DTO_DAO update 처리
💡
1️⃣ DAO 클래스 생성 후 update 쿼리 메서드를 생성합니다..
2️⃣ 메서드 내부 처리 과정으로 JDBC 프로그램 7단계를 넣습니다.
3️⃣ JSP에서 DAO 객체 생성 후 메서드를 호출합니다.
4️⃣ 입력 자료들은 DTO로 처리 후 세팅하고 DAO에서 겟팅합니다.
5️⃣ 페이지를 리다이렉트 합니다.
[코드예제] Udao.java
package kr.or.dao; import kr.or.driverdb.DriverDB; import kr.or.dto.User; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; public class Udao { // 전역에 각각 데이터타입의 객체참조변수를 선언 User u = null; Connection conn = null; PreparedStatement pstmt = null; // 3. update 처리 메서드 public void uUpdate(User u) throws SQLException, ClassNotFoundException { System.out.println("uUpdate 메서드 Udao.java"); // 1-2단계 드라이버 실행, DB연결 DriverDB db = new DriverDB(); conn = db.driverDbcon(); System.out.println(conn + "<- conn Udao.java"); // 3단계 쿼리 실행 준비 pstmt = conn.prepareStatement("UPDATE tb_user set u_pw=?, u_level=?, u_name=?, u_email=?, u_phone=?, u_addr=? where u_id=?"); pstmt.setString(1, u.getU_pw()); pstmt.setString(2, u.getU_level()); pstmt.setString(3, u.getU_name()); pstmt.setString(4, u.getU_email()); pstmt.setString(5, u.getU_phone()); pstmt.setString(6, u.getU_addr()); pstmt.setString(7, u.getU_id()); System.out.println(pstmt); // 4단계 쿼리 실행 pstmt.executeUpdate(); // 5단계 쿼리 실행 결과 사용(생략) // 6단계 객체 종료 pstmt.close(); // 7단계 DB연결 종료 conn.close(); } }
[코드예제] user_update_action.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <!DOCTYPE html> <%@ page import="kr.or.dao.Udao" %> <% request.setCharacterEncoding("euc-kr"); %> // post 한글처리 // java Bean 액션태그 (DTO) <jsp:useBean id="u" class="kr.or.dto.User"/> <jsp:setProperty name="u" property="*"/> <% // Udao 객체 생성 후 메서드 실행 Udao udao = new Udao(); udao.uUpdate(u); // user_search_list.jsp로 리다이렉트 response.sendRedirect(request.getContextPath() + "/usersearch/user_search_list.jsp"); %>
tag : #java #jsp #DB #DTO #DAO #insert #update #쿼리 #객체 #화면처리
Uploaded by N2T