DAO 메소드 스텁 자동 생성하기 read 메소드의 코드 selectOne 위에 커서를 올립니다. 첫번째 제안하는 방법인 Create method ... 를 클릭합니다. DAO 메소드 스텁 자동 생성 결과 확인하기 자동으로 생성된 DAO 메서드 스텁 selectOne을 확인합니다. DAO 메소드 selectOne 구현하기 /src/main/java/v2/mvc/spring/blog/dao/BlogDAO.java return this.sqlSessionTemplate.selectOne("TB_BLG_CONT.selectOne", blogContSeq); 자동 생성된 스텁 코드를 위 코드로 변경합니다.
서비스 읽기 인터페이스 메소드 자동 생성하기 컨트롤러 메소드 getRead에서 호출하는 서비스 메소드 read 아래 빨간 줄을 확인합니다. 마우스를 blogService.read 위에 올립니다. 첫번째 제안 사항 create method 'read(int)' in type 'BlogService' 를 클릭합니다. 서비스 읽기 인터페이스 메소드 자동 생성 확인하기 BlogService 인터페이스가 자동으로 열리면서 read 메소드가 추가된 것을 확인합니다. 인터페이스에서 곧바로 구현 클래스로 이동하기 ctrl 키를 누른 채로 인터페이스 이름 위에 마우스를 올립니다. 팝업 메뉴가 나타납니다. Open Implementation을 선택합니다. 해당 서비스의 구현 클래스 파일이 편집기에 열리는 것을 확인합니다...
블로그 컨텐츠 컨트롤러 조회 메소드 작성 개요 블로그 컨텐츠를 조회하기 위해 컨트롤러에 메소드를 작성합니다. 기존에 블로그 컨텐츠 입력 기능을 [매퍼 => DAO => 서비스 인터페이스 => 서비스 구현 => 컨트롤러] 순서로 만들었던 것과는 다르게, 이번에는 [컨트롤러 => 서비스 인터페이스 => 서비스 인터페이스 구현 => DAO => 매퍼 XML] 순서로 만들어 보겠습니다. 저는 개인적으로 매퍼부터 시작하는 전자 스타일을 선호합니다만, 개발자 분들에 따라서는 후자를 선호하시는 분들도 있으십니다. 그런 분이 대충 서비스까지만 만들어놓고 퇴사해 버리실 경우 DAO부터 구현해야 하는 경우도 생기므로 다양한 방법을 익혀봅시다. 블로그 컨텐츠 컨트롤러 조회 메소드 작성하기 /src/main/java/v2/m..
블로그 컨텐츠 조회 쿼리 작성 개요 본격적으로 코딩을 하기 전에, 데이터를 조회하는 쿼리를 작성해 봅니다. 개발을 진행하면서 쿼리를 컨트롤러와 연결하겠습니다. 블로그 컨텐츠 조회 쿼리 작성하기 SELECT BLG_CONT_SEQ, TITLE, TO_CHAR(CONT_BDY) as CONT_BDY, INSERT_DT FROM TB_BLG_CONT WHERE BLG_CONT_SEQ = 1 sqldeveloper 에 SPRNG_BLG_USR 로 접속합니다. 워크시트를 엽니다. 위 쿼리를 입력합니다. F9를 눌러 쿼리를 실행합니다. 아래에 질의 결과 창이 열리고 행이 1개가 나오는지 확인합니다.
데이터베이스에 저장되었는지 확인 개요 웹에서는 아직 상세 페이지가 없으므로 실제 데이터가 들어갔는지는 확인할 방법이 없습니다. 직접 데이터베이스를 조회해 봅시다. 데이터 조회 select * from tb_blg_cont sqldeveloper 를 실행합니다. SPRNG_BLG_USR 계정으로 접속합니다. alt + F10 키를 눌러서 워크시트를 엽니다. 워크시트에 조회 쿼리를 입력합니다. F9 키를 눌러서 실행합니다. 아래에 질의 결과 탭이 열리면서 우리가 입력한 데이터가 나오는지 확인합니다. 단일 레코드 뷰 진입 새로 입력된 데이터 행을 선택합니다. 우클릭합니다. 단일 레코드 뷰를 선택합니다. 단일 레코드 뷰 확인 CONT_BDY 열의 줄바꿈이 잘 되어 있는지 확인합니다.
웹에서 저장 확인 개요 기능을 만들었으니 테스트를 해 보겠습니다. 먼저 웹 페이지가 정상적으로 동작하는지 테스트합니다. 테스트 데이터 입력 STS에서 톰캣 서버를 시작합니다. 브라우저를 켭니다. 브라우저에서 localhost:8080/create 에 접속합니다. 컨텐츠 제목과 본문을 입력합니다. 블로그 컨텐츠 쓰기 버튼을 클릭합니다. 결과 확인 페이지가 /read/{숫자} 로 이동되었는지 확인합니다. 주소창만 보시면 됩니다.