관리자가 도서관에 등록된 전체 도서를 조회하는 기능이다. '전체도서' 메뉴는 'nav.jsp'에 있다.
<li><a href="<c:url value='/book/admin/getAllBooks' />">전체도서</a></li>
컨트롤러 기능 구현
// 전체 도서 목록
@GetMapping("/getAllBooks")
public String getAllBooks(Model model) {
System.out.println("[BookController] getAllBooks()");
String nextPage = "admin/book/full_list_of_books";
List<BookVo> bookVos = bookService.getAllBooks();
model.addAttribute("bookVos", bookVos);
return nextPage;
}
서비스 기능 구현
public List<BookVo> getAllBooks(){
System.out.println("[BookService] getAllBooks()");
return bookDao.selectAllBooks();
}
DAO 기능 구현
public List<BookVo> selectAllBooks(){
System.out.println("[BookDao] selectAllBooks()");
String sql = "SELECT * FROM tbl_book "
+ "ORDER BY b_reg_date DESC";
List<BookVo> books = new ArrayList<BookVo>();
try {
books = jdbcTemplate.query(sql, new RowMapper<BookVo>() {
@Override
public BookVo mapRow(ResultSet rs, int rowNum) throws SQLException {
BookVo bookVo = new BookVo();
bookVo.setB_no(rs.getInt("b_no"));
bookVo.setB_thumbnail(rs.getString("b_thumbnail"));
bookVo.setB_name(rs.getString("b_name"));
bookVo.setB_author(rs.getString("b_author"));
bookVo.setB_publisher(rs.getString("b_publisher"));
bookVo.setB_publish_year(rs.getString("b_publish_year"));
bookVo.setB_isbn(rs.getString("b_isbn"));
bookVo.setB_call_number(rs.getString("b_call_number"));
bookVo.setB_rantal_able(rs.getInt("b_rantal_able"));
bookVo.setB_reg_date(rs.getString("b_reg_date"));
bookVo.setB_mod_date(rs.getString("b_mod_date"));
return bookVo;
}
});
} catch (Exception e) {
e.printStackTrace();
}
return books.size() > 0 ? books : null;
}
관리자 화면에서 로그인 후 '전체도서'를 클릭하면 전체 도서가 화면에 출력된다.
'Spring & Springboot > 올인원 스프링 프레임워크' 카테고리의 다른 글
@Configuration와 BeanPropertyRowMapper (0) | 2023.12.04 |
---|---|
프로퍼티란? (0) | 2023.12.04 |
전자 도서관 프로젝트 - 희망 도서 요청 기능 구현 (0) | 2023.12.04 |
전자 도서관 프로젝트 - 대출 도서 반납 기능 구현 (0) | 2023.12.03 |
전자 도서관 프로젝트 - 도서 대출 기능 구현 (0) | 2023.12.03 |