멀티캠퍼스/Spring

20230911 (월)

세크레투스 2023. 9. 12. 09:07
반응형
SMALL

<<오늘 배울 내용>>

Controller -> Service -> Mapper -> 결과물 -> (1.jsp, 2.redirect) ...

 

<mapper>

namespace = "interface" 

- 인터페이스의 이름, 패키지명을 포함해서 만듦.

==> 파일위치 (동일) 뭐..?

 

CRUD - select, insert, update, delete : 공통속성으로 id를 가짐.

id="" : interface의 메소드명과 동일

 

<[!CDATA[ ... ]]>

 

SQL 문장 안에 < >

- SQL : 연산자

- XML : 태그처리

 

 

<<영속 영역의 CRUD 구현>>

1. create(insert) 처리

- 시퀀스로 PK 가 자동으로 정해지는 경우

- PK 처리 방식

* insert만 처리되고 생성된 PK 값을 알 필요가 없는 경우

* insert 문이 실행되고 생성된 PK 값을 알아야 하는 경우

--> insert 후 그 키로 다른 테이블에 FK로 후속 작업을 해야 하는 경우

예) 첨부파일 저장

public void insert(BoardVO board); // insert 후에 bno를 모름

public void insertSelectKey(BoardVO board); // insert 후에 bno를 추출

 

- Oracle : sequence

- MySQL : auto_increment

Oracle : select seq.nextValue from ..

 

 

<비즈니스 계층>

Controller -> Service -> Mapper

<<프레젠테이션(웹) 계층의 CRUD 구현>>

<BoardController의 작성>

==> 삭제랑 수정 바뀜..

 

- Controller는 JUnitTest로만 테스트가 불가능하며, http 요청이 필요하다.

 

- get 요청을 하는 메소드는 일반적으로 리턴타입이 void이다.

- post일 경우에는 string이다.

<TDD (Test Driven Development) - 테스트 기반 개발> => 이력서에 추가할 수 있다.

 

<화면 처리>

교재하고 약간 다르게 갈거임.

sd2 css 프레임워크를 교재에서 사용중인데, 그 사이트가 없어짐.

그래서...

우리는 부트스트랩으로 유사하게 구현할 것임.

 

1. views/layouts

- 각 페이지의 공통 부분을 독립파일로 정의

- 각 페이지에서 include로 사용

* 코드 중복 해결

- 구성 파일

* header.jsp

* menu.jsp

* footer.jsp

 

 

반응형
LIST