diff --git a/VamPa/src/main/java/com/vam/controller/BookController.java b/VamPa/src/main/java/com/vam/controller/BookController.java index 0995277..dea6094 100644 --- a/VamPa/src/main/java/com/vam/controller/BookController.java +++ b/VamPa/src/main/java/com/vam/controller/BookController.java @@ -13,13 +13,18 @@ import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; import org.springframework.util.FileCopyUtils; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -import com.vam.mapper.AttachMapper; import com.vam.model.AttachImageVO; +import com.vam.model.BookVO; +import com.vam.model.Criteria; +import com.vam.model.PageDTO; +import com.vam.service.AttachService; +import com.vam.service.BookService; @Controller public class BookController { @@ -27,7 +32,10 @@ public class BookController { private static final Logger logger = LoggerFactory.getLogger(BookController.class); @Autowired - private AttachMapper attachMapper; + private AttachService attachService; + + @Autowired + private BookService bookService; //메인 페이지 이동 @RequestMapping(value="/main", method = RequestMethod.GET) @@ -69,10 +77,34 @@ public class BookController { logger.info("getAttachList.........." + bookId); - return new ResponseEntity>(attachMapper.getAttachList(bookId), HttpStatus.OK); + return new ResponseEntity>(attachService.getAttachList(bookId), HttpStatus.OK); } + /* 상품 검색 */ + @GetMapping("search") + public String searchGoodsGET(Criteria cri, Model model) { + + logger.info("cri : " + cri); + + List list = bookService.getGoodsList(cri); + logger.info("pre list : " + list); + if(!list.isEmpty()) { + model.addAttribute("list", list); + logger.info("list : " + list); + } else { + model.addAttribute("listcheck", "empty"); + + return "search"; + } + + model.addAttribute("pageMaker", new PageDTO(cri, bookService.goodsGetTotal(cri))); + + + return "search"; + + } + } diff --git a/VamPa/src/main/java/com/vam/mapper/BookMapper.java b/VamPa/src/main/java/com/vam/mapper/BookMapper.java new file mode 100644 index 0000000..5cbedad --- /dev/null +++ b/VamPa/src/main/java/com/vam/mapper/BookMapper.java @@ -0,0 +1,16 @@ +package com.vam.mapper; + +import java.util.List; + +import com.vam.model.BookVO; +import com.vam.model.Criteria; + +public interface BookMapper { + + /* 상품 검색 */ + public List getGoodsList(Criteria cri); + + /* 상품 총 갯수 */ + public int goodsGetTotal(Criteria cri); + +} diff --git a/VamPa/src/main/java/com/vam/service/BookService.java b/VamPa/src/main/java/com/vam/service/BookService.java new file mode 100644 index 0000000..962b566 --- /dev/null +++ b/VamPa/src/main/java/com/vam/service/BookService.java @@ -0,0 +1,16 @@ +package com.vam.service; + +import java.util.List; + +import com.vam.model.BookVO; +import com.vam.model.Criteria; + +public interface BookService { + + /* 상품 검색 */ + public List getGoodsList(Criteria cri); + + /* 상품 총 갯수 */ + public int goodsGetTotal(Criteria cri); + +} diff --git a/VamPa/src/main/java/com/vam/service/BookServiceImpl.java b/VamPa/src/main/java/com/vam/service/BookServiceImpl.java new file mode 100644 index 0000000..fa93bf2 --- /dev/null +++ b/VamPa/src/main/java/com/vam/service/BookServiceImpl.java @@ -0,0 +1,40 @@ +package com.vam.service; + +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.vam.mapper.BookMapper; +import com.vam.model.BookVO; +import com.vam.model.Criteria; + +import lombok.extern.log4j.Log4j; + +@Service +@Log4j +public class BookServiceImpl implements BookService{ + + @Autowired + private BookMapper bookMapper; + + /* 상품 검색 */ + @Override + public List getGoodsList(Criteria cri) { + + log.info("getGoodsList()......."); + + return bookMapper.getGoodsList(cri); + } + + /* 사품 총 갯수 */ + @Override + public int goodsGetTotal(Criteria cri) { + + log.info("goodsGetTotal()......."); + + return bookMapper.goodsGetTotal(cri); + + } + +} diff --git a/VamPa/src/main/resources/com/vam/mapper/BookMapper.xml b/VamPa/src/main/resources/com/vam/mapper/BookMapper.xml new file mode 100644 index 0000000..b47aa20 --- /dev/null +++ b/VamPa/src/main/resources/com/vam/mapper/BookMapper.xml @@ -0,0 +1,47 @@ + + + + + + + + bookName like '%' || #{keyword} || '%' and + + + + + + + + + + + \ No newline at end of file diff --git a/VamPa/src/main/webapp/WEB-INF/views/main.jsp b/VamPa/src/main/webapp/WEB-INF/views/main.jsp index 6a6702a..4376ab8 100644 --- a/VamPa/src/main/webapp/WEB-INF/views/main.jsp +++ b/VamPa/src/main/webapp/WEB-INF/views/main.jsp @@ -52,7 +52,14 @@
-

Search area

+
+
+
+ + +
+
+
-

Search area

+
+
+
+ + +
+
+