获取分类功能
Change-Id: I1da40392ce6165c931a534475c573fb417a2767c
diff --git a/src/main/java/com/pt5/pthouduan/controller/CategoryController.java b/src/main/java/com/pt5/pthouduan/controller/CategoryController.java
new file mode 100644
index 0000000..ec013c3
--- /dev/null
+++ b/src/main/java/com/pt5/pthouduan/controller/CategoryController.java
@@ -0,0 +1,24 @@
+package com.pt5.pthouduan.controller;
+
+import com.pt5.pthouduan.entity.Category;
+import com.pt5.pthouduan.service.CategoryService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/categories")
+@CrossOrigin
+public class CategoryController {
+ @Autowired
+ private CategoryService categoryService;
+
+ @GetMapping
+ public List<Category> getAllCategories() {
+ return categoryService.getAllCategories();
+ }
+}
diff --git a/src/main/java/com/pt5/pthouduan/entity/Category.java b/src/main/java/com/pt5/pthouduan/entity/Category.java
index c338fbb..e134092 100644
--- a/src/main/java/com/pt5/pthouduan/entity/Category.java
+++ b/src/main/java/com/pt5/pthouduan/entity/Category.java
@@ -7,7 +7,7 @@
/**
* <p>
- *
+ * 分类表
* </p>
*
* @author ljx
@@ -21,10 +21,20 @@
@TableId("categoryid")
private Integer categoryid;
- private Integer categorytype;
+ private String category_name; // 数据库列名
- private String categoryName;
+ private String category_description; // 数据库列名
+ // 构造方法
+ public Category() {}
+
+ public Category(Integer categoryid, String category_name, String category_description) {
+ this.categoryid = categoryid;
+ this.category_name = category_name;
+ this.category_description = category_description;
+ }
+
+ // Getter 和 Setter 方法(遵循JavaBean规范)
public Integer getCategoryid() {
return categoryid;
}
@@ -33,28 +43,28 @@
this.categoryid = categoryid;
}
- public Integer getCategorytype() {
- return categorytype;
+ public String getCategory_name() { // 注意方法名必须和属性名一致
+ return category_name;
}
- public void setCategorytype(Integer categorytype) {
- this.categorytype = categorytype;
+ public void setCategory_name(String category_name) { // 注意方法名必须和属性名一致
+ this.category_name = category_name;
}
- public String getCategoryName() {
- return categoryName;
+ public String getCategory_description() {
+ return category_description;
}
- public void setCategoryName(String categoryName) {
- this.categoryName = categoryName;
+ public void setCategory_description(String category_description) {
+ this.category_description = category_description;
}
@Override
public String toString() {
return "Category{" +
- "categoryid = " + categoryid +
- ", categorytype = " + categorytype +
- ", categoryName = " + categoryName +
- "}";
+ "categoryid=" + categoryid +
+ ", category_name='" + category_name + '\'' + // 修正拼写错误
+ ", category_description='" + category_description + '\'' + // 修正字段名
+ '}';
}
-}
+}
\ No newline at end of file
diff --git a/src/main/java/com/pt5/pthouduan/mapper/CategoryMapper.java b/src/main/java/com/pt5/pthouduan/mapper/CategoryMapper.java
index fac2a81..5aba81d 100644
--- a/src/main/java/com/pt5/pthouduan/mapper/CategoryMapper.java
+++ b/src/main/java/com/pt5/pthouduan/mapper/CategoryMapper.java
@@ -4,6 +4,8 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
+import java.util.List;
+
/**
* <p>
* Mapper 接口
@@ -14,5 +16,5 @@
*/
@Mapper
public interface CategoryMapper extends BaseMapper<Category> {
-
+ List<Category> getAllCategories();
}
diff --git a/src/main/java/com/pt5/pthouduan/service/CategoryService.java b/src/main/java/com/pt5/pthouduan/service/CategoryService.java
new file mode 100644
index 0000000..6eb2efe
--- /dev/null
+++ b/src/main/java/com/pt5/pthouduan/service/CategoryService.java
@@ -0,0 +1,9 @@
+package com.pt5.pthouduan.service;
+
+import com.pt5.pthouduan.entity.Category;
+
+import java.util.List;
+
+public interface CategoryService {
+ List<Category> getAllCategories();
+}
diff --git a/src/main/java/com/pt5/pthouduan/service/impl/CategoryServiceImp.java b/src/main/java/com/pt5/pthouduan/service/impl/CategoryServiceImp.java
new file mode 100644
index 0000000..a98507b
--- /dev/null
+++ b/src/main/java/com/pt5/pthouduan/service/impl/CategoryServiceImp.java
@@ -0,0 +1,19 @@
+package com.pt5.pthouduan.service.impl;
+
+import com.pt5.pthouduan.entity.Category;
+import com.pt5.pthouduan.mapper.CategoryMapper;
+import com.pt5.pthouduan.service.CategoryService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class CategoryServiceImp implements CategoryService {
+ @Autowired
+ private CategoryMapper categoryMapper;
+ @Override
+ public List<Category> getAllCategories() {
+ return categoryMapper.getAllCategories();
+ }
+}
diff --git a/src/main/resources/mapper/xml/CategoryMapper.xml b/src/main/resources/mapper/xml/CategoryMapper.xml
new file mode 100644
index 0000000..7793c47
--- /dev/null
+++ b/src/main/resources/mapper/xml/CategoryMapper.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.pt5.pthouduan.mapper.CategoryMapper">
+
+ <!-- 通用查询映射结果 -->
+ <!-- 定义结果映射 -->
+ <resultMap id="CategoryResultMap" type="com.pt5.pthouduan.entity.Category">
+ <id property="categoryid" column="categoryid"/>
+ <result property="category_name" column="category_name"/>
+ <result property="category_description" column="category_description"/>
+ </resultMap>
+
+ <!-- 通用查询结果列 -->
+ <sql id="Base_Column_List">
+ categoryid, category_name, category_description
+ </sql>
+ <!-- 查询所有分类 -->
+ <select id="getAllCategories" resultMap="CategoryResultMap">
+ SELECT
+ categoryid,
+ category_name,
+ category_description
+ FROM
+ category
+ </select>
+
+</mapper>
diff --git a/src/test/java/com/pt5/pthouduan/ControllerTest/CategoryControllerTest.java b/src/test/java/com/pt5/pthouduan/ControllerTest/CategoryControllerTest.java
index 2c375db..002cfdb 100644
--- a/src/test/java/com/pt5/pthouduan/ControllerTest/CategoryControllerTest.java
+++ b/src/test/java/com/pt5/pthouduan/ControllerTest/CategoryControllerTest.java
@@ -1,2 +1,58 @@
-package com.pt5.pthouduan.ControllerTest;public class CategoryControllerTest {
+package com.pt5.pthouduan.ControllerTest;
+
+import com.pt5.pthouduan.controller.CategoryController;
+import com.pt5.pthouduan.entity.Category;
+import com.pt5.pthouduan.service.CategoryService;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.springframework.test.web.servlet.MockMvc;
+import org.springframework.test.web.servlet.setup.MockMvcBuilders;
+
+import java.util.Arrays;
+import java.util.List;
+
+import static org.mockito.Mockito.when;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
+
+public class CategoryControllerTest {
+
+ private MockMvc mockMvc;
+
+ @Mock
+ private CategoryService categoryService;
+
+ @InjectMocks
+ private CategoryController categoryController;
+
+ @BeforeEach
+ public void setUp() {
+ MockitoAnnotations.openMocks(this);
+ mockMvc = MockMvcBuilders.standaloneSetup(categoryController).build();
+ }
+
+ @Test
+ public void testGetAllCategories() throws Exception {
+ // 准备模拟数据
+ Category category1 = new Category();
+ category1.setCategoryid(1);
+ category1.setCategory_name("电子产品");
+
+ Category category2 = new Category();
+ category2.setCategoryid(2);
+ category2.setCategory_name("服装");
+
+ List<Category> categories = Arrays.asList(category1, category2);
+
+ // 模拟 service 行为
+ when(categoryService.getAllCategories()).thenReturn(categories);
+
+ // 执行请求并验证结果
+ mockMvc.perform(get("/categories"))
+ .andExpect(status().isOk());
+ }
}