웹 프로그래밍 15(JSP,DB)-DAO, DTO
웹 프로그래밍 15(JSP,DB)-DAO, DTO
-DAO
데이터 베이스에 접속해서 데이터 추가, 삭제, 수정 등의 작업을 하는 클래스 입니다.
일반적인 JSP 혹은 Servlet 페이지내에 위의 로직을 함께 기술할 수 도 있지만, 유지보수 및 코드의 모듈화를 위해 별도의 DAO클래스를 만들어 사용 합니다.
-DTO
DAO클래스를 이용하여 데이터 베이스에서 데이터를 관리할 때 데이터를 일반적인 변수에 할당하여 작업 할수도 있지만, 해당 데이터의 클래스를 만들어 사용 합니다.
웹브라우저(클라이언트)와 서버간 통신이 자주 일어나 복잡하게 된다면
데이터값들을 원할하게 다루기가 힘들다.
그래서 나온게 DAO와 DTO이다.
관계를 따진다면
jsp 호출 <-> DTO 데이터 저장 및 관리 <-> DAO 데이터를 처리
이렇게 된다.
-실제 사용을 해보자
테이블 : member -시작하기전에 임의로 값을 넣어 놓아야한다.
JSP : select.jsp - 데이터를 출력한다.
java : DAOmember.java - 데이터를 처리한다. , DTOmember.java -데이터를 저장 및 관리한다.
-예제
ArrayList<객체>와 getter,setter를 사용할 것이다. 잊었다면 다시 복습하는것을 추천한다.
-select.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
<%@page import="com.java.connfull.DTOmember"%> <%@page import="java.util.ArrayList"%> <%@ page import="com.java.connfull.DAOmember"%> <%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"> <title>Insert title here</title> </head> <body> <% DAOmember daom = new DAOmember(); ArrayList<DTOmember> arr = daom.memberSelect();
for(int i=0;i<arr.size() ;i++) { DTOmember dto = arr.get(i); String name = dto.getName(); String id = dto.getId(); String pw = dto.getPw(); String phone = dto.getPhone();
out.print("이름 : " + name + "<br />" + "아이디 : " + id + "<br />" + "비밀번호 : " + pw + "<br />" + "휴대폰번호 : " + phone + "<br />"); }
%> </body> </html> |
-DAOmember.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
package com.java.connfull; import java.sql.*; import java.util.ArrayList;
import com.java.connfull.*;
public class DAOmember {
public DAOmember() { try { Class.forName("oracle.jdbc.driver.OracleDriver"); }catch(Exception e) { e.printStackTrace(); }
}
public ArrayList<DTOmember> memberSelect() { Connection conn = null; Statement st = null; ResultSet re = null;
String query = "select * from member";
ArrayList<DTOmember> dtom = new ArrayList<DTOmember>();
String name,id,pw,phone; try {
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:clouddb", "testid", "password"); st = conn.createStatement(); re = st.executeQuery(query);
while(re.next()) { name = re.getString("name"); id = re.getString("id"); pw = re.getString("pw"); phone = re.getString("phone");
DTOmember temp = new DTOmember(name,id,pw,phone); dtom.add(temp); }
} catch(Exception e) { e.getStackTrace(); } finally { try {
if(conn != null) conn.close(); if(st != null) st.close(); if(re != null) re.close();
} catch(Exception e) { e.printStackTrace(); }
}
return dtom; }
}
|
-DTOmember.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
package com.java.connfull;
public class DTOmember {
String name; String id; String pw; String phone;
public DTOmember(String name, String id, String pw, String phone) { this.name = name; this.id = id; this.pw = pw; this.phone = phone; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public String getId() { return id; }
public void setId(String id) { this.id = id; }
public String getPw() { return pw; }
public void setPw(String pw) { this.pw = pw; }
public String getPhone() { return phone; }
public void setPhone(String phone) { this.phone = phone; }
}
|
-출력
'프로그래밍 정리 > JSP, Servlet, DB(oracle)' 카테고리의 다른 글
웹 프로그래밍 17(JSP,DB)-커넥션 풀 (0) | 2020.01.05 |
---|---|
웹 프로그래밍 16(JSP,DB)-PreparedStatement (0) | 2020.01.05 |
웹 프로그래밍 14-3(JSP,DB,servlet)-가입, 로그인, 수정 페이지 (0) | 2020.01.03 |
웹 프로그래밍 14-2(JSP,DB,servlet)-가입, 로그인, 수정 페이지 (0) | 2020.01.03 |
웹 프로그래밍 14-1(JSP,DB,servlet)-가입, 로그인, 수정 페이지 (0) | 2020.01.03 |