71일차

백엔드를 팝니다·2024년 9월 10일

개발자 수업

목록 보기
44/72

spring MVC 패턴 : 코딩 순서

VO -> Mapper -> xxx.xml(sql) -> Service -> ServiceImpl -> Controller -> JSP

VO(Value Object) : 테이블과 닯은 자바 객체(컬럼 == 속성), DB정보를 저장하는 그릇역할

 => 속성필드, 생성자, Setter/Getter

Mapper(인터페이스) : DB 테이블의 CRUD 함수명을 정하는 파일

예) 1) 전체조회, 2) 추가, 3) 상세조회 4) 수정 5) 삭제

xxx.xml(sql 작성) : CRUD sql 문을 작성하는 파일(마이바티스 프레임워크)

Service(업무로직 작성) : CRUD + 업무로직도 만듬 등 , 인터페이스(함수명만 있음)

ServiceImpl(자식클래스) : Service 상속받아 함수 재정의함 , Mapper 객체의 함수 실행

Controller(서비스와 JSP(화면) 중간역할) : Service 객체의 함수 실행, 결과를 JSP 전송

                                      함수의 URL 도 있음

1) 전체 조회 함수 : 검색어 추가 , 페이징 기능 추가

부서 게시판 만들기 참고 :

1-1) DeptVo : Criteria 객체 상속(페이징 객체)

1-2) DeptMapper : List<?> selectDeptList(Criteria searchVO);

                  int selectDeptListTotCnt(Criteria searchVO);

1-3) Dept.xml : selectDeptList 의 sql 문 작성(전체 조회)

                  selectDeptListTotCnt 의 sql 문 작성(페이징:전체개수)

1-4) DeptService : List<?> selectDeptList(Criteria searchVO) throws Exception

                   int selectDeptListTotCnt(Criteria searchVO)

1-5) DeptServiceImpl : 위의 함수 재정의 , DeptMapper 객체 함수 실행

1-6) DeptController : selectDeptList 함수 작성

                     매개변수 : searchVO, model 
                     url    : /dept
                     jsp    : basic/dept/dept_all 
                     페이징 객체 : PaginationInfo (현재페이지번호, 첫페이지번호 등 저장)
                     (나중에는 항상 그 코드를 붙여넣기 하면 페이징기능이 추가됨)

1-7) jsp 코딩 : 디자인 코딩, ui:PaginationInfo 태그 넣기(페이징 번호)

###2) 추가 페이지 열기 : createDeptView 코딩 -> jsp : add_dept 코딩

3) 저장 버튼 실행 :

3-1) DeptVO 생략 :

3-2) DeptMapper : 인터페이스 , insert 함수 작성

3-3) Dept.xml : insert 문 코딩(sql)

3-4) DeptService : insert 함수 작성

3-5) DeptServiceImpl : 함수 재정의 DeptMapper 객체의 insert 함수 실행

3-6) DeptController : DeptService 객체의 insert 함수 실행, jsp 코딩

profile
백엔드 고수가 되고싶은 사람

0개의 댓글