gi_dor

프로젝트 개발순서 본문

Tool

프로젝트 개발순서

기돌 2024. 1. 26. 10:38
728x90

주제선정 - 벤치마킹 - 구현기능선정 - 화면설계 - 데이터 모델링 - 데이터베이스 구현

 

🔸 조회 작업 구현하기

  • 화면 설계를 바탕으로 JSP 페이지 작성 
  • 화면에 표현되는 데이터를 확인 
    데이터 조회에 필요한 값(Parameter value) 체크 : 해당 JSP 요청할 때 전달받아야 하는 값
     데이터가 저장된 테이블 체크 : 테이블 , 조인여부 , SQL 실행에 필요한 파라미터 값 체크

       → 테이블을 하나 사용 하는지 여러개 조회하는지 체크
       → 테이블에서 어느 컬럼의 값을 조회하는지 체크
       → 테이블을 2개이상 조인한다면 조인조건은 무엇인지 체크
       → where 에서 사용되는 검색조건 체크 

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

📌 다른 테이블에서 JOIN 해서 사용 해야한다면 DTO 클래스 사용이 마음 편할 듯 싶다.

VO사용시

<select>
   a.emp_id as "id"
   b.department_id as "department.id"
   c.location_id as "department.location.id"
   c.location_city as "department.location.city"
</select>

DTO

<select>
   a.emp_id as "id"
   b.department_id as "id"
   c.location_id as "id"
   c.location_city as "city"
</select>

 

ibatis Mapper 작성
•  화면에 표현한 데이터를 조회하는 매핑된 SQL 구문을 정의한다
  ▶ 매핑된 SQL 구문

<select id= "SQL구문식별자" 
            parameterClass ="SQL 실행에 필요한값을 제공하는 클래스" 
            resultClasss="조회결과를 담는 클래스명">

	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에서 데이터 표현하기

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

 

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

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

 


🔸 추가작업 구현하기

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

  • 사용자가 입력할 데이터를 선정하기 - 해당 정보를 저장할 테이블을 체크
    • not null 로 지정된 컬럼 - 필수 입력
    • 시퀀스가 사용되는 컬럼 - 입력 제공 X
    • 기본값이 지정된 컬럼 - 입력 제공 X
    • 특정 값만 입력 가능한 컬럼 - <radio> , <select> 필요 , 사용자가 선택하거나 체크할 데이터 제공
    •  다른 테이블의 컬럼 값을 참조하는 컬럼  - <radio> <select> 필요 , 사용자가 선택하거나 체크할 데이터 제공
  • 사용자가 선택하거나 체크할 데이터 제공하기
    <radio> <select> 생성하는데 필요한 값은 테이블의 데이터를 조회해 획득한 값으로 생성 , 직접 생성한다
  • 사용자가 여러개 입력하거나 체크할수 있는 데이터 제공
    이름이 동일한 체크박스 , 이름이 동일한 입력 필드로 작성

 

  • 입력화면에 제공할 데이터용 VO DAO 클래스 작성
    • <radio> <select> <checkbox> 표현에 사용되는 데이터용 VO , DAO 클래스 
  • ibatis Mapper 작성 
    • <radio> <select> <checkbox> 표현에 필요한 데이터를 조회하는 매핑된 SQL구문 작성
  • DAO클래스에 CRUD 메서드 작성 
    •  <radio> <select> <checkbox> 표현에 필요한 데이터를 조회하는 mapping 되어있는 SQL 구문을 실행하는 메서드 정의 
  • JSP에서 DAO 객체 생성
    • JSP 에서 DAO 객체의 CRUD 메서드를 실행해 <radio> <checkbox><select> 표현에 필요한 데이터 조회하기
    • 조회된 데이터로 <radio > <checkbox> <select> 표현하기

폼입력 값을 제출 받아서 DB에 저장하는 JSP 작성하기

  • 입력 폼에서 제출하는 요청 파라미터값을 전부 조회하기
  • 조회된 request.Parameter 값을 VO 객체에 생성해서 담기
    •  VO 객체에 toString() 메서드를 재정의 했다면 System.out.println (참조변수); 을 실행해
        입력폼에서 제출한 값이 VO 객체에 잘 저장되었는지 확인 
    • DAO 객체 생성 , CRUD 메서드 실행하기

  • ibatis Mapper 작성
    • 테이블에 데이터를 저장하는 매핑된 SQL 구문 작성하기
  • DAO 클래스에 CRUD 메서드 작성
  • JSP 에서 DAO 객체 생성하기
  • JSP 에서 DAO 객체의 CRUD 메서드를 실행해 테이블에 데이터 저장시키기 
  • 재요청 URL을 응답으로 보내기 

 

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

728x90