diff --git a/springBootBlog/src/main/resources/templates/posts.html b/springBootBlog/src/main/resources/templates/posts.html
index 131606cc7..ee5e43a7b 100644
--- a/springBootBlog/src/main/resources/templates/posts.html
+++ b/springBootBlog/src/main/resources/templates/posts.html
@@ -31,7 +31,7 @@
Author
-
diff --git a/springWarehouse/data/merchant_sample.csv b/springWarehouse/data/merchant_sample.csv
index 9c35ac684..a3102ee19 100644
--- a/springWarehouse/data/merchant_sample.csv
+++ b/springWarehouse/data/merchant_sample.csv
@@ -1,4 +1,16 @@
name,city,type,status
merchant-1,taipei,normal,0
merchant-2,sapporo,normal,0
+merchant-3,kushiro,normal,0
+merchant-1,taipei,normal,0
+merchant-2,sapporo,normal,0
+merchant-3,kushiro,normal,0
+merchant-1,taipei,normal,0
+merchant-2,sapporo,normal,0
+merchant-3,kushiro,normal,0
+merchant-1,taipei,normal,0
+merchant-2,sapporo,normal,0
+merchant-3,kushiro,normal,0
+merchant-1,taipei,normal,0
+merchant-2,sapporo,normal,0
merchant-3,kushiro,normal,0
\ No newline at end of file
diff --git a/springWarehouse/pom.xml b/springWarehouse/pom.xml
index 3ba22b720..23f8f4be3 100644
--- a/springWarehouse/pom.xml
+++ b/springWarehouse/pom.xml
@@ -164,6 +164,11 @@
1.7.0
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+
+
diff --git a/springWarehouse/sql/ddl/order.sql b/springWarehouse/sql/ddl/order.sql
index a4003ce95..543f33058 100644
--- a/springWarehouse/sql/ddl/order.sql
+++ b/springWarehouse/sql/ddl/order.sql
@@ -16,6 +16,10 @@ CREATE TABLE IF NOT EXISTS orders (
INSERT INTO orders(id, merchant_id, product_id, amount, status, create_time, update_time)
VALUES
-("213ac245-7a2a-453b-a4a7-149426b13f84", 1, 1, 1, "completed", now(), now()),
-("d42b3224-b715-46af-9294-3b2ecc6ccc7a", 2, 2, 1, "cancelled", now(), now()),
+("213ac24efgefdf84", 1, 1, 1, "completed", now(), now()),
+("d42b3224-b715-4gfgf-3b2eccc7a", 2, 2, 1, "cancelled", now(), now()),
+("d42b322;;4-b715-4gfgf-3b2eccc7a", 2, 2, 1, "cancelled", now(), now()),
+("-b715-4gfg;;f-3b2eccc7a", 2, 2, 1, "cancelled", now(), now()),
+("-b715-4gfgf-", 2, 2, 1, "cancelled", now(), now()),
+("d42b3224--4gfgf-3b2eccc7a", 2, 2, 1, "cancelled", now(), now()),
(uuid(), 1, 3, 1, "pending", now(), now());
\ No newline at end of file
diff --git a/springWarehouse/src/main/java/com/yen/springWarehouse/WarehouseApplication.java b/springWarehouse/src/main/java/com/yen/springWarehouse/WarehouseApplication.java
index cbf320879..86be75cec 100644
--- a/springWarehouse/src/main/java/com/yen/springWarehouse/WarehouseApplication.java
+++ b/springWarehouse/src/main/java/com/yen/springWarehouse/WarehouseApplication.java
@@ -16,4 +16,4 @@ public static void main(String[] args) {
SpringApplication.run(WarehouseApplication.class, args);
}
-}
+}
\ No newline at end of file
diff --git a/springWarehouse/src/main/java/com/yen/springWarehouse/bean/Merchant.java b/springWarehouse/src/main/java/com/yen/springWarehouse/bean/Merchant.java
index 1c1bb78de..b41debd71 100644
--- a/springWarehouse/src/main/java/com/yen/springWarehouse/bean/Merchant.java
+++ b/springWarehouse/src/main/java/com/yen/springWarehouse/bean/Merchant.java
@@ -8,17 +8,22 @@
import lombok.Data;
import lombok.NoArgsConstructor;
+import javax.persistence.*;
import java.io.Serializable;
@Data
+@Entity
@AllArgsConstructor
@NoArgsConstructor
-@TableName("merchant")
+//@TableName("merchant")
+@Table(name="merchant")
public class Merchant implements Serializable {
private static final long serialVersionUID = 234345356533250815L;
- @TableId(type = IdType.AUTO)
+ @Id
+ @GeneratedValue(strategy= GenerationType.IDENTITY)
+ //@TableId(type = IdType.AUTO)
private int id;
@TableField("name")
diff --git a/springWarehouse/src/main/java/com/yen/springWarehouse/config/CorsConfig.java b/springWarehouse/src/main/java/com/yen/springWarehouse/config/CorsConfig.java
new file mode 100644
index 000000000..db41036c9
--- /dev/null
+++ b/springWarehouse/src/main/java/com/yen/springWarehouse/config/CorsConfig.java
@@ -0,0 +1,33 @@
+package com.yen.springWarehouse.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+@Configuration
+public class CorsConfig {
+
+ @Bean
+ public WebMvcConfigurer corsConfigurer() {
+ return new WebMvcConfigurer() {
+ @Override
+ public void addCorsMappings(CorsRegistry registry) {
+
+ //映射路徑
+ registry.addMapping("/**")
+ //允許跨網域請求的來源
+ .allowedOrigins("/*")
+ //允許跨域攜帶cookie資訊,預設跨網域請求是不攜帶cookie資訊的。
+ .allowCredentials(true)
+ //允許使用那些請求方式
+ .allowedMethods("GET", "POST", "PUT", "DELETE")
+ //允許哪些Header
+ .allowedHeaders("/*")
+ //可獲取哪些Header(因為跨網域預設不能取得全部Header資訊)
+ .exposedHeaders("Header1", "Header2");
+ }
+ };
+ }
+
+}
diff --git a/springWarehouse/src/main/java/com/yen/springWarehouse/controller/MerchantController.java b/springWarehouse/src/main/java/com/yen/springWarehouse/controller/MerchantController.java
index c24e00731..5268ab2cf 100644
--- a/springWarehouse/src/main/java/com/yen/springWarehouse/controller/MerchantController.java
+++ b/springWarehouse/src/main/java/com/yen/springWarehouse/controller/MerchantController.java
@@ -1,21 +1,27 @@
package com.yen.springWarehouse.controller;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.pagehelper.PageInfo;
import com.yen.springWarehouse.bean.Merchant;
import com.yen.springWarehouse.bean.ProductType;
+import com.yen.springWarehouse.repository.MerchantRepository;
import com.yen.springWarehouse.service.MerchantService;
import com.yen.springWarehouse.util.csvUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.Sort;
+
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.BufferedReader;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -25,9 +31,14 @@
@RequestMapping("/merchant")
public class MerchantController {
+ private final int PAGINATIONSIZE = 3;
+
@Autowired
MerchantService merchantService;
+ @Autowired
+ MerchantRepository merchantRepository;
+
@GetMapping("/toInput")
public String input(Map map) {
@@ -78,30 +89,50 @@ public String createBatch(@RequestParam("file") MultipartFile file, Map map, @RequestParam(value="pageNo", required=false, defaultValue="1") String pageNoStr) {
-
- int pageNo;
-
- // check pageNo
- pageNo = Integer.parseInt(pageNoStr);
- if(pageNo < 1){
- pageNo = 1;
+ public String list(@RequestParam(value = "pageNum", required = false, defaultValue = "0") int pageNum,
+ @RequestParam(value="pageSize", defaultValue = "0" + PAGINATIONSIZE) int pageSize,
+ Map map) {
+
+ //pageNum = 2;
+ log.info(">>> pageNum = {}", pageNum);
+
+// Page page = new Page<>(pageNum, PAGINATIONSIZE);
+// QueryWrapper queryWrapper = new QueryWrapper<>();
+// IPage iPage = merchantService.page(page,
+// new LambdaQueryWrapper()
+// .orderByAsc(Merchant::getId)
+// );
+// log.info("iPage.total = {}, iPage.getPages = {} iPage = {}", iPage.getTotal(), iPage.getPages(), iPage);
+// map.put("page", iPage);
+
+
+ Pageable pageRequest = PageRequest.of(pageNum, pageSize, Sort.by(Sort.Direction.DESC, "id"));
+ Page merchantsPage = merchantRepository.findAll(pageRequest); //merchantService //postRepository.findAll(pageRequest);
+ List merchants = merchantsPage.toList();
+ log.info(">>> merchants length = {}", merchants.toArray().length);
+ PageInfo pageInfo = null;
+ //為了程式的嚴謹性,判斷非空:
+ if(pageNum <= 0){
+ pageNum = 0;
+ }
+ log.info("當前頁是:"+pageNum+"顯示條數是:"+pageSize);
+ //1.引入分頁外掛,pageNum是第幾頁,pageSize是每頁顯示多少條,預設查詢總數count
+ PageHelper.startPage(pageNum, pageSize);
+ //2.緊跟的查詢就是一個分頁查詢-必須緊跟.後面的其他查詢不會被分頁,除非再次呼叫PageHelper.startPage
+ try {
+ //Page postList = postRepository.findAll(pageRequest);//service查詢所有的資料的介面
+ List merchantList = merchantService.getAllMerchant();//service查詢所有的資料的介面
+ log.info(">>> 分頁資料:" + merchantList.get(0).toString());
+ //3.使用PageInfo包裝查詢後的結果,5是連續顯示的條數,結果list型別是Page
+ pageInfo = new PageInfo(merchantList, pageSize);
+ //4.使用model/map/modelandview等帶回前端
+ System.out.println(">>> (merchant) pageInfo = " + pageInfo.getPages());
+
+ map.put("pageInfo",pageInfo);
+ map.put("merchants", merchants);
+ }finally {
+ PageHelper.clearPage(); //清理 ThreadLocal 儲存的分頁引數,保證執行緒安全
}
-
- /*
- * 1st param:which page
- * 2nd param : record count per page
- */
- log.info("pageNo = {}", pageNo);
- Page page = new Page<>(pageNo,3);
- QueryWrapper queryWrapper = new QueryWrapper<>();
- IPage iPage = merchantService.page(page,
- new LambdaQueryWrapper()
- .orderByAsc(Merchant::getId)
- );
- log.info("iPage.total = {}, iPage.getPages = {} iPage = {}", iPage.getTotal(), iPage.getPages(), iPage);
- map.put("page", iPage);
-
return "merchant/list_merchant";
}
@@ -112,7 +143,7 @@ public String remove(@PathVariable("typeId") Integer typeId) {
return "redirect:/merchant/list";
}
- @GetMapping(value="/preUpdate/{typeId}")
+ @GetMapping(value = "/preUpdate/{typeId}")
public String preUpdate(@PathVariable("typeId") Integer typeId, Map map) {
Merchant merchant = merchantService.getById(typeId);
@@ -121,7 +152,7 @@ public String preUpdate(@PathVariable("typeId") Integer typeId, Map {
List getMerchantList(Page merchantPage, @Param("ew") QueryWrapper wrapper);
+
+ List getAllMerchant();
}
diff --git a/springWarehouse/src/main/java/com/yen/springWarehouse/mapper/merchantMapper.xml b/springWarehouse/src/main/java/com/yen/springWarehouse/mapper/merchantMapper.xml
index 8f2b7c988..b0c900929 100644
--- a/springWarehouse/src/main/java/com/yen/springWarehouse/mapper/merchantMapper.xml
+++ b/springWarehouse/src/main/java/com/yen/springWarehouse/mapper/merchantMapper.xml
@@ -5,8 +5,7 @@
-
-
+
+
+
+
\ No newline at end of file
diff --git a/springWarehouse/src/main/java/com/yen/springWarehouse/repository/MerchantRepository.java b/springWarehouse/src/main/java/com/yen/springWarehouse/repository/MerchantRepository.java
new file mode 100644
index 000000000..61364e1eb
--- /dev/null
+++ b/springWarehouse/src/main/java/com/yen/springWarehouse/repository/MerchantRepository.java
@@ -0,0 +1,9 @@
+package com.yen.springWarehouse.repository;
+
+import com.yen.springWarehouse.bean.Merchant;
+import org.springframework.data.repository.PagingAndSortingRepository;
+import org.springframework.stereotype.Component;
+
+@Component
+public interface MerchantRepository extends PagingAndSortingRepository {
+}
diff --git a/springWarehouse/src/main/java/com/yen/springWarehouse/service/MerchantService.java b/springWarehouse/src/main/java/com/yen/springWarehouse/service/MerchantService.java
index 16fd9091c..f890e8f4b 100644
--- a/springWarehouse/src/main/java/com/yen/springWarehouse/service/MerchantService.java
+++ b/springWarehouse/src/main/java/com/yen/springWarehouse/service/MerchantService.java
@@ -7,8 +7,11 @@
import com.yen.springWarehouse.util.MerchantQueryHelper;
import com.yen.springWarehouse.util.ProductQueryHelper;
+import java.util.List;
+
public interface MerchantService extends IService {
Page getMerchantPage(MerchantQueryHelper helper, Integer pageNo, Integer pageSize);
+ List getAllMerchant();
}
diff --git a/springWarehouse/src/main/java/com/yen/springWarehouse/service/impl/MerchantServiceImpl.java b/springWarehouse/src/main/java/com/yen/springWarehouse/service/impl/MerchantServiceImpl.java
index 857899b61..c0fe3a7dd 100644
--- a/springWarehouse/src/main/java/com/yen/springWarehouse/service/impl/MerchantServiceImpl.java
+++ b/springWarehouse/src/main/java/com/yen/springWarehouse/service/impl/MerchantServiceImpl.java
@@ -51,4 +51,9 @@ public Page getMerchantPage(MerchantQueryHelper helper, Integer pageNo
return new Page<>();
}
+ @Override
+ public List getAllMerchant() {
+ return merchantMapper.getAllMerchant();
+ }
+
}
diff --git a/springWarehouse/src/main/resources/templates/main.html b/springWarehouse/src/main/resources/templates/main.html
index bae2e6067..f944a50e8 100644
--- a/springWarehouse/src/main/resources/templates/main.html
+++ b/springWarehouse/src/main/resources/templates/main.html
@@ -46,7 +46,7 @@
-