10. 응용 예제(한 줄 메모장)
10.1 mybatis
10.1.1 개발자가 지정한 SQL, 저장프로시저를 지원하는 프레임워크
10.1.2 프로그램 소스 안에 SQL문을 작성하던 기존 JDBC 방식과 달리 SQL문을 프로그램에서 분리하여 XML 파일에 별도로 작성
10.1.3 mybatis의 장점
10.1.3.1 코딩량 절감
10.1.3.2 간편한 유지보수(SQL을 변경하고자 할 경우 기존처럼 프로그램을 수정하는 것이 아니라 XML 파일의 SQL문만을 변경하면 되기 때문에 SQL 변환이 자유로움)
10.1.4 ibatis라는 이름으로 2.5까지 개발(아파치 프로젝트)
10.1.5 3.0 버전부터 mybatis로 이름이 바뀜
10.1.6 http://mybatis.org
10.2 mybatis 설정 방법
10.2.1 mybatis-3.4.5.jar: lib 폴더에 복사
10.2.2 MybatisManager.java: mybatis framework을 실행할 수 있는 세션 생성
10.2.3 sqlMapConfig.xml: mybatis 기본설정 파일
10.2.4 mapper 파일: 실제 sql query 문장
10.3 한줄 메모장
web.xml(배치기술서)
Controller
MemoController.java
Model
MemoDTO.java
MemoDAO.java
View
memo.jsp : ajax 요청 페이지, 메모입력
memo_list.jsp : 메모목록
memo_view.jsp : 메모 보기, 수정, 삭제 기능
10.3.1 CRUD
- Create: INSERT
- Read: SELECT
- Update: UPDATE
- Delete: DELETE
10.3.2 메모장 목록
memo_list.do (web.xml에 매핑)
Controller
MemoController.java
Model
MemoDTO.java
MemoDAO.java
View
memo_list.jsp
list.do → MemoController.java → MemoDAO.java → 메모리스트 리턴 → request 객체에 저장 → memo_list.jsp로 포워딩
10.3.3 메모 저장insert.do (web.xml에 매핑)
Controller
MemoController.java
폼에서 입력한 값들을 모델에 전달
저장완료 후 memo.jsp로 이동
Model
MemoDTO.java
MemoDAO.java
View
insert.do → MemoController.java → MemoDAO.java → memo.jsp로 이동
태그 입력 테스트
아래의 태그를 입력하면 효과가 적용됨
<marquee>hello</marquee>
<font color="red" size="7">Hello</font>
<xmp> 태그를 입력하면 화면이 깨짐
<xmp> html소스를 해석하지 않고 그대로 출력
해결책 : 태그 문자를 변환해야 함
< → <
> → >
공백문자 처리
스페이스 →
10.3.4 메모 수정/삭제 화면
view.do?idx=메모번호 (web.xml에 매핑)
Controller
MemoController.java
메모번호조회 request.getParameter("idx")
Model
MemoDTO.java
MemoDAO.java
View
memo_view.jsp
10.3.5 메모 수정update.do (web.xml에 매핑)
Controller
MemoController.java
폼입력데이터를 dao에 전달 → update → 수정완료 후 memo.jsp로 이동
Model
MemoDTO.java
MemoDAO.java
View
memo_view.jsp
10.3.6 메모 삭제
delete.do (web.xml에 매핑)
Controller
MemoController.java
메모번호를 dao에 전달 → delete, 삭제완료 후 memo.jsp로 이동
Model
MemoDAO.java
MemoDTO.java
View