본문 바로가기

서버/Servlet-JSP
[Servlet-JSP] DAO, DTO, lombok

// 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