// DAO vs DTO
1. DAO, Data Access Object
- 데이터베이스에 접속해서 데이터 추가, 삭제, 수정 등의 작업을 하는 클래스
- 유지보수 및 코드의 모듈화를 위해 별도의 DAO 클래스를 만들어 사용한다.
2. DTO, Data Transfer Object
- DAO 클래스를 이용하여 데이터베이스에서 데이터를 관리할 때 DTO 클래스를 만들어 데이터를 일반적인 변수에 할당하여 작업한다.
// lombok
- 어노테이션을 활용하여 코드를 자동으로 생성해주고 축소해주는 라이브러리.
~ @Setter
~ @Getter
~ @ToString
~ @Data: @ToString + @Getter + @Setter + @EqualsAndHashCode + @RequiredArgsConstructor
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="com.jsp.daodto.MemberDTO"%>
<%@page import="com.jsp.daodto.MemberDAO"%>
<%@page import="java.util.List"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
MemberDAO dao = new MemberDAO();
List<MemberDTO> dto = dao.memberSelect();
for(MemberDTO d : dto) {
String name = d.getName();
String id = d.getId();
String pw = d.getPw();
String tel = d.getTel();
String gender = d.getGender();
out.println("이름 : " + name + "<br>");
out.println("아이디 : " + id + "<br>");
out.println("비밀번호 : " + pw + "<br>");
out.println("연락처 : " + tel + "<br>");
out.println("이름 : " + gender + "<br>");
out.println("====================================<br>");
}
%>
</body>
</html>
package com.jsp.daodto;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import com.jdbc.DBUtil;
public class MemberDAO {
private Connection con;
private Statement st;
private PreparedStatement pstat;
private ResultSet rs;
public MemberDAO() {
this.con = DBUtil.open("localhost", "jsp", "java1234");
}
public List<MemberDTO> memberSelect() {
List<MemberDTO> dtoList = new ArrayList<MemberDTO>();
try {
String sql = "select * from tblMember";
st = con.createStatement();
rs = st.executeQuery(sql);
while(rs.next()) {
MemberDTO dto = new MemberDTO();
dto.setName(rs.getString("name"));
dto.setId(rs.getString("id"));
dto.setPw(rs.getString("pw"));
dto.setTel(rs.getString("tel"));
dto.setGender(rs.getString("gender"));
dtoList.add(dto);
}
return dtoList;
} catch (Exception e) {
e.printStackTrace();
}
return dtoList;
}
}
package com.jsp.daodto;
import lombok.Data;
@Data
public class MemberDTO {
private String name;
private String id;
private String pw;
private String tel;
private String gender;
}
'서버 > Servlet-JSP' 카테고리의 다른 글
[Servlet-JSP] EL(Expression Language) (0) | 2023.01.23 |
---|---|
[Servlet-JSP] 파일 업로드, 다운로드 (0) | 2023.01.20 |
[Servlet-JSP] 입력 데이터 - 상태 유지 (0) | 2023.01.16 |
[Servlet-JSP] Cookie (0) | 2023.01.15 |
[Servlet-JSP] Redirection (0) | 2023.01.13 |