본문 바로가기
Web

JDBC 프로젝트 개발순서

by 유서담 2024. 1. 26.

1. 조회작업 구현하기

 

- 화면설계를 바탕으로 JSP 페이지 작성 - dummy 데이터 표현

 

- 화면에 표현되는 데이터를 확인

  • 데이터 조회에 필요한 값(파라미터 값) 체크 : 해당 JSP를 요청할 때 전달받아야 하는 값
  • 데이터가 저장된 테이블 체크 : 테이블, 조인여부, SQL 실행에 필요한 파라미터값 체크
    • 테이블을 하나 사용하는지, 테이블을 여러 개 조회하는지 체크
    • 테이블에서 어느 컬럼의 값을 조회하는지 체크
    • 테이블을 2개 이상 조인한다면 조인조건은 무엇인지 체크
    • WHERE에서 사용되는 검색 조건은 무엇인지 체크

 

- VO, DAO, DTO 클래스를 작성한다

  • 위에서 체크한 테이블에 대한 VO 클래스를 작성한다. 
  • 위에서 체크한 테이블에 대한 DAO 클래스를 작성한다.
  • 여러 개의 테이블을 조인해서 획득가능한 데이터의 경우 화면에 표현되는 모든 정보를 표현할 수 있는 DTO 클래스
  • 를 작성한다. 

 

- Ibatis 매퍼파일을 작성한다

  • 화면에 표현한 데이터를 조회하는 매핑된 SQL 구문을 정의한다.
매핑된 SQL 구문
<select id="SQL구문식별자" parameterClass="SQL실행에필요한값을제공하는클래스명" resultClass="조회결과를담는클래스명">
	SQL  구문
</select>

 

 

 

- DAO 클래스에 CRUD 메소드를 작성한다

  • 조회작업은 2가지로 구분한다.
    • 조회결과가 한 건인 경우
public 클래스명 xxx() {
	return (클래스명)ibatis.queryForObject("네임스페이스.SQL구문식별자")
}

public 클래스명 xxx(매개변수타입 변수명) {
	return (클래스명)ibatis.queryForObject("네임스페이스.SQL구문식별자", 변수명)
}

 

  • 조회결과가 여러건인 경우
public List<클래스명> xxx() {
	return (List<클래스명>)ibatis.queryForList("네임스페이스.SQL구문식별자")
}

public List<클래스명> xxx(매개변수타입 변수명) {
	return (List<클래스명>)ibatis.queryForList("네임스페이스.SQL구문식별자", 값)
}

 

 

- JSP에서 데이터 요청하기

  • 요청 처리에 필요한 요청파라미터값 조회하기
  • CRUD 작업이 구현된 DAO 객체 생성하기
  • DAO객체의 CRUD 메소드중에서 데이터를 조회하는 메소드를 실행해서 데이터 조회하기
  • 조회된 데이터를 표현하기

 

- 웹 브라우저에서 JSP 요청하기

  • JSP를 요청할 때 전달할 요청파라미터값을 파악하기
  • 웹브라우저에서 위에서 작성한 JSP를 요청해서 실행결과 확인하기

 

 

2. 추가작업 구현하기

 

- 화면설계를 바탕으로 JSP 페이지 작성 

  • 사용자가 입력할 데이터를 선정하기
    • 해당 정보를 저장할 테이블을 체크
      • 시퀀스가 사용되는 컬럼 - 입력필드를 제공할 필요가 없다.
      • not null로 지정된 컬럼 - 필수 입력 필드
      • 기본값이 지정된 컬럼 - 입력필드를 제공할 필요가 없다.
      • 특정 값만 입력가능한 컬럼 - 라디오버튼, 셀렉터박스가 필요하다. 사용자가 선택하거나 체크할 데이터를 제공
      • 다른 테이블의 컬럼값을 참조하는 컬럼  - 라디오버튼, 셀렉터박스가 필요하다. 사용자가 선택하거나 체크할 데이터를 제공
  • 사용자가 선택하거나 체크할 데이터 제공하기
    • 라디오버튼, 셀렉터박스로 사용자가 선택할 값을 제공한다.
      • 라디오버튼, 셀렉트박스를 생성하는데 필요한 값은 테이블의 데이터를 조회해서 획득한 값으로 생성하거나 직접 수동으로 생성한다
  • 사용자가 여러 개 입력하거나 체트할 수 있는 데이터 제공하기
    • 이름이 동일한 체크박스, 이름이 동일한 입력필드로 작성한다.
  • 입력화면에 제공할 데이터용 VO, DAO 클래스 작성하기
    • 라디오버튼, 체크박스, 셀렉터박스 표현에 사용되는 데이터용 VO, DAO 클래스다.
  • ibatis 매퍼파일 작성하기
    • 라디오버튼, 체크박스, 셀렉터박스 표현에 필요한 데이터를 조회하는 매핑된 SQL 구문작성하기
  • DAO 클래스에 CRUD 메소드 작성하기
    • 라디오버튼, 체크박스, 셀렉터박스 표현에 필요한 데이터를 조회하는 매핑된 SQL 구문을 실행하는 메소드 정의
  • JSP에서 DAO 객체 생성하기
  • JSP에서 DAO 객체의 CRUD 메소드를 실행해서  라디오버튼, 체크박스, 셀렉터박스 표현에 필요한 데이터를 조회하기
  • 조회된 데이터로 라디오버튼, 체크박스, 셀렉터박스 표현하기

 

- 폼 입력값을 제출받아서 데이터베이스에 저장하는 JSP 작성하기

  • 테이블에 사용자정보도 저장되어야 한다면 반드시 HttpSession에 속성으로 저장된 로그인정보를 조회한다.
    • 로그인정보가 세션에 존재하는지 체크하고, 존재하지 않으면 로그인폼 페이지를 재요청하는 응답을 보낸다.
  • 입력폼에서 제출하는 요청 파라미터값을 전부 조회하기
  • 조회된 요청 파라미터값을 VO 객체를 생성해서 담기
    • VO객체에 toString() 메소드를 재정의 두었다면 System.out.println(참조변수); 를 실행해서 입력폼에서 제출한 값이 VO객체에 잘 저장되었는지 체크
    • DAO 객체 생성하기, CRUD 메소드 실행하기
  • ibatis 매퍼파일 작성하기
    • 테이블에 데이터를 저장하는 매핑된 SQL 구문 작성하기
  • DAO 클래스에 CRUD 메소드 작성하기
  • JSP에서 DAO 객체 생성하기
  • JSP에서 DAO 객체의 CRUD 메소드를 실행해서 테이블에 데이터 저장시키기
  • 재요청 URL을 응답으로 보내기

 

- 입력폼 JSP 페이지에 폼입력값을 체크하는 자바스크립트 추가

 

 

'Web' 카테고리의 다른 글

EL(Expression Language)  (0) 2024.02.19
프로젝트에서 톰캣설정  (0) 2024.01.26
Web_Servlet  (0) 2024.01.15
Web_GET과 POST, MIME  (1) 2024.01.10
JSP_JSP와 JSP 구성요소 및 내장객체  (1) 2024.01.05