유가엘
개발일지
유가엘
전체 방문자
오늘
어제
  • 분류 전체보기 (107)
    • Solution (16)
      • EAI (11)
      • Concept (1)
      • webMethods (4)
    • Language (20)
      • Java (20)
    • DataBase (19)
      • Oracle (18)
    • Web Programming (38)
      • JSP (11)
      • Spring (10)
      • Project (17)
    • 협업도구 (8)
      • Git (8)
    • IT (6)
      • ETC (4)
      • 정보처리기사 (1)
      • Android (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

티스토리

hELLO · Designed By 정상우.
유가엘

개발일지

Web Programming/JSP

9. JSP DTO , DAO

2020. 3. 24. 00:26

lesson10_JSP_DaoDto.zip
0.01MB

DTO(Data Transfer Object)

Data Transfer Object의 약자로, 계층간 데이터 교환을 위한 자바빈즈를 의미합니다.

이 객체는 데이터베이스 레코드의 데이를 맵핑하기 위해 만들어졌으며, 접근을 위한 Getter, Setter를 가지고 있습니다.

package lesson10_JSP_DaoDto.dto;

public class CountryDTO {
	private String COUNTRY_ID;
	private String COUNTRY_NAME;
	private String REGION_ID;
	
	public CountryDTO() {
		// TODO Auto-generated constructor stub
	}

	public CountryDTO(String cOUNTRY_ID, String cOUNTRY_NAME, String rEGION_ID) {
		super();
		COUNTRY_ID = cOUNTRY_ID;
		COUNTRY_NAME = cOUNTRY_NAME;
		REGION_ID = rEGION_ID;
	}

	public String getCOUNTRY_ID() {
		return COUNTRY_ID;
	}

	public void setCOUNTRY_ID(String cOUNTRY_ID) {
		COUNTRY_ID = cOUNTRY_ID;
	}

	public String getCOUNTRY_NAME() {
		return COUNTRY_NAME;
	}

	public void setCOUNTRY_NAME(String cOUNTRY_NAME) {
		COUNTRY_NAME = cOUNTRY_NAME;
	}

	public String getREGION_ID() {
		return REGION_ID;
	}

	public void setREGION_ID(String rEGION_ID) {
		REGION_ID = rEGION_ID;
	}
	
	
}

 

DAO(Data Access Object)

Data Access Object의 약자로, 데이터의 조회 및 조작하는 기능[ CRUD(생성, 읽기, 갱신, 삭제) ]전담하는 객체입니다.

데이터베이스에 접근하기 위한 로직과 비즈니스 로직을 분리하여 코드의 간결화 및 모듈화, 유지보수 등의 장점을 가질 수 있습니다.

package lesson10_JSP_DaoDto.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;

import lesson10_JSP_DaoDto.dto.CountryDTO;

public class CountryDAO {

	public ArrayList<CountryDTO> select() {
		
		ArrayList<CountryDTO>list = new ArrayList<CountryDTO>();
		Connection con = null;
		PreparedStatement pstmt = null;
		ResultSet result = null;
		DataSource dataSource;
		
		try {
			Context context = new InitialContext();
			dataSource = (DataSource) context.lookup("java:/comp/env/jdbc/Oracle11g");
			con = dataSource.getConnection();
			String sql = "SELECT * FROM COUNTRIES";
			pstmt = con.prepareStatement(sql);
			result = pstmt.executeQuery(sql);

			while (result.next()) {
				String COUNTRY_ID = result.getString("COUNTRY_ID");
				String COUNTRY_NAME = result.getString("COUNTRY_NAME");
				String REGION_ID = result.getString("REGION_ID");
				
				CountryDTO countryDTO = new CountryDTO(COUNTRY_ID, COUNTRY_NAME, REGION_ID);
				list.add(countryDTO);
				
			}

		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				result.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
			try {
				pstmt.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
			try {
				con.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		
		return list;
	}
	
}

 

저작자표시 비영리 변경금지 (새창열림)

'Web Programming > JSP' 카테고리의 다른 글

11. JSP 한글처리  (0) 2020.03.25
10. JSP EL & JSTL  (0) 2020.03.24
8. JSP ConnectionPool  (0) 2020.03.24
7. JSP DB Connect  (0) 2020.03.23
6. JSP Cookie & Session  (0) 2020.03.21
    'Web Programming/JSP' 카테고리의 다른 글
    • 11. JSP 한글처리
    • 10. JSP EL & JSTL
    • 8. JSP ConnectionPool
    • 7. JSP DB Connect
    유가엘
    유가엘

    티스토리툴바