book_SQL.xml
select list 추가
<!-- 목록 전체 출력하는 쿼리문 -->
<select id="select_list" parameterType="hashMap" resultType="hashMap">
<![CDATA[
SELECT book_id, title, category, price, insert_date
FROM book
ORDER BY insert_date desc
]]>
</select>
hashMap 이 여러 개가 나온다.
1. 자바정석 / IT / 20000/ date
2. 자바정석 / IT / 20000/ date
BookDAO - selectList 추가 ( 결과가 여러 개 이니까 List에 담음)
//목록 정보 - map 이 여러 개 나오니까 list안에 넣은거임
public List<Map<String, Object>> selectList(Map<String, Object> map){
return sqlSessionTemplate.selectList("book.select_list",map);
}
BookServiceImple - 인터페이스 자동 추가 하기
//책 목록
@Override
public List<Map<String, Object>> list(Map<String, Object> map){
return this.bookDao.selectList(map);
}
package com.demo.sample;
import java.util.List;
import java.util.Map;
public interface BookService {
String create(Map<String, Object> map);
Map<String, Object> detail(Map<String, Object> map);
boolean edit(Map<String, Object> map);
boolean remove(Map<String, Object> map);
List<Map<String, Object>> list(Map<String, Object> map);
}
BookController list메소드 추가
//책 목록 보기 컨트롤러
@GetMapping("/list")
public String list (@RequestParam Map<String, Object> map, Model model) {
List<Map<String, Object>> list = this.bookService.list(map);
model.addAttribute("data", list);//data라는 이름으로 전달(requset와 동일)
return"/book/list";
}
list.jsp 만들기
<%@ page pageEncoding="UTF-8" contentType="text/html;charset=utf-8"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
<title>책 목록</title>
</head>
<body>
<h1>책 목록</h1>
<table>
<thead>
<tr>
<td>제목</td>
<td>카테고리</td>
<td>가격</td>
</tr>
</thead>
<tbody>
<c:forEach var="row" items="${data}">
<tr>
<td>
<a href="/detail?bookId=${row.book_id}">
${row.title}
</a>
</td>
<td>${row.category}</td>
<td><fmt:formatNumber type="number" maxFractionDigits="3" value="${row.price}" /></td>
</tr>
</c:forEach>
</tbody>
</table>
<p>
<a href="/create">생성</a>
</p>
</body>
</html>
반복문 forEach로 list에 있는 내용들 반복 출력한다.
화면 출력 - DB와 동일하게 출력된게 확인된다.
마지막으로 해당 목록 페이지를 기본페이지로 설정한다.
index.jsp 생성
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
response.sendRedirect("/list"); //기본페이지에서 "/list"로 재 요청
%>
'BACKEND > Spring' 카테고리의 다른 글
DB 연결 - 유저 패키지 추가해서 유저 등록하기 및 상세조회하기(INSERT,SELECT) (0) | 2023.10.20 |
---|---|
DB 연결 - 검색 기능 추가하기 (SELECT) (1) | 2023.10.20 |
DB연결 - 책 삭제하기 (DELETE) (0) | 2023.10.20 |
DB연결 - 책 수정 화면 (UPDATE) (0) | 2023.10.20 |
DB연결 - 책 상세 보기 (SELECT) (0) | 2023.10.19 |