7. 책 상세 화면 만들기
7.1. 책 상세 화면 개요
책 상세 정보를 보여주기 위한 화면을 만든다.
브라우저에서 /detail?bookId=1 주소에 접속하면 책 정보를 확인할 수 있는 화면을 보여준다.
7.2. 책 상세 쿼리 작성
책 상세 화면을 조회하는 쿼리를 작성한다.
데이터베이스에서 데이터를 조회하는 쿼리는 SELECT다. 이렇게 사용한다.
SELECT 컬럼들 from 테이블명 where 조건
게시글 하나를 가져오기 위한 쿼리는 다음과 같다.
SELECT title, category, price, insert_date from book where book_id = 1
매퍼 XML에 쿼리를 옮긴다.
src/main/resources/sqlmap/book_SQL.xml
<select id="select_detail" parameterType="hashMap" resultType="hashMap">
<![CDATA[
select
title,
category,
price,
insert_date
from
book
where
book_id = #{bookId}
]]>
</select>
7.3. 책 상세 DAO 메소드 작성
src/main/java/sample/spring/yse/BookDao.java
public Map<String, Object> selectDetail(Map<String, Object> map) {
return this.sqlSessionTemplate.selectOne("book.select_detail", map);
}
sqlSessionTemplate 의 selectOne 메소드는 데이터를 한 개만 가져올 때 사용한다. 만약 쿼리 결과 행 수가 0개면 selectOne 메소드는 null을 반환하게 되며 쿼리 결과가 여러 개면 TooManyResultsException 예외를 던진다.