From 1e99f55b4e15afd2d9d74a0a78f1117b55195ad2 Mon Sep 17 00:00:00 2001 From: SeoJin Kim Date: Tue, 24 Aug 2021 22:10:53 +0900 Subject: [PATCH] =?UTF-8?q?[Spring][=EC=87=BC=ED=95=91=EB=AA=B0=20?= =?UTF-8?q?=ED=94=84=EB=A1=9C=EC=A0=9D=ED=8A=B8][31]=20=EA=B2=80=EC=83=89?= =?UTF-8?q?=20=EA=B5=AC=ED=98=84(=EA=B8=B0=EB=B3=B8=20=EA=B8=B0=EB=8A=A5?= =?UTF-8?q?=20=EA=B5=AC=ED=98=84)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://kimvampa.tistory.com/244 --- .../com/vam/controller/BookController.java | 38 +++++++++++++-- .../main/java/com/vam/mapper/BookMapper.java | 16 +++++++ .../java/com/vam/service/BookService.java | 16 +++++++ .../java/com/vam/service/BookServiceImpl.java | 40 ++++++++++++++++ .../resources/com/vam/mapper/BookMapper.xml | 47 +++++++++++++++++++ VamPa/src/main/webapp/WEB-INF/views/main.jsp | 9 +++- .../src/main/webapp/WEB-INF/views/search.jsp | 18 +++++++ VamPa/src/main/webapp/resources/css/main.css | 2 +- .../java/com/vam/mapper/BookMapperTests.java | 38 +++++++++++++++ .../classes/com/vam/mapper/BookMapper.xml | 47 +++++++++++++++++++ .../maven/com.vam/controller/pom.properties | 2 +- .../com/vam/controller/BookController.java | 37 ++++++++++++++- .../main/java/com/vam/mapper/BookMapper.java | 16 +++++++ .../java/com/vam/service/BookService.java | 16 +++++++ .../java/com/vam/service/BookServiceImpl.java | 40 ++++++++++++++++ .../resources/com/vam/mapper/BookMapper.xml | 35 ++++++++++++++ .../src/main/webapp/WEB-INF/views/main.jsp | 9 +++- .../src/main/webapp/WEB-INF/views/search.jsp | 18 +++++++ .../src/main/webapp/resources/css/main.css | 2 +- .../java/com/vam/mapper/BookMapperTests.java | 37 +++++++++++++++ .../classes/com/vam/mapper/BookMapper.xml | 35 ++++++++++++++ .../maven/com.vam/controller/pom.properties | 2 +- 22 files changed, 509 insertions(+), 11 deletions(-) create mode 100644 VamPa/src/main/java/com/vam/mapper/BookMapper.java create mode 100644 VamPa/src/main/java/com/vam/service/BookService.java create mode 100644 VamPa/src/main/java/com/vam/service/BookServiceImpl.java create mode 100644 VamPa/src/main/resources/com/vam/mapper/BookMapper.xml create mode 100644 VamPa/src/main/webapp/WEB-INF/views/search.jsp create mode 100644 VamPa/src/test/java/com/vam/mapper/BookMapperTests.java create mode 100644 VamPa/target/classes/com/vam/mapper/BookMapper.xml create mode 100644 VamPa_MySQL/src/main/java/com/vam/mapper/BookMapper.java create mode 100644 VamPa_MySQL/src/main/java/com/vam/service/BookService.java create mode 100644 VamPa_MySQL/src/main/java/com/vam/service/BookServiceImpl.java create mode 100644 VamPa_MySQL/src/main/resources/com/vam/mapper/BookMapper.xml create mode 100644 VamPa_MySQL/src/main/webapp/WEB-INF/views/search.jsp create mode 100644 VamPa_MySQL/src/test/java/com/vam/mapper/BookMapperTests.java create mode 100644 VamPa_MySQL/target/classes/com/vam/mapper/BookMapper.xml 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

+
+
+
+ + +
+
+