前文传送门:
点波关注,不迷路
🌲 首页相关功能
🌿 分类导航
在首页中,分类展示对应的数据表是d_d_category表,从表中可以分析出,本项目的分类只有1级分类和二级分类。一级分类和二级分类是通过parent_id 关联起来的,数据表如下:
首先根据数据表,新建实体类:
package com.softeem.dang.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Category {
private Integer id;
private Integer turn; // 排序方式
private String en_name; // 英文名
private String cn_name; // 中文名
private Integer parent_id; // 父分类id
private String category_value; // 分类位置
private List<Category> sub_category; // 存放所有的子分类
}
在实体类中,我们添加了一个sub_category属性,这个属性用来存放从数据库中查询出来的当前分类下的所有子分类。
实体类创建完毕之后,我们在MainController中添加处理查询分类请求的方法,在方法中调用的对应的业务人员去处理具体业务,代码如下:
/**
* 处理显示分类的请求
* @param request
* @param response
* @return
*/
public String showCategory(HttpServletRequest request, HttpServletResponse response){
// 找到显示分类的业务人员
CategoryService service = new CategoryServiceImpl();
//查找分类
List<Category> categoryList = service.getCategory();
// 封装数据
request.setAttribute("categories",categoryList);
return "category.jsp";
}
在CategroyServiceImpl中添加查询分类的方法,具体代码如下:
/**
* 查询分类
* @return
*/
@Override
public List<Category> getCategory() {
// 找到管理分类的仓库管理员(Dao)
CategoryDao dao = new CategoryDaoImpl();
// 根据parent_id为1,查询出所有的一级分类
List<Category> categoryList = dao.findCategoryByPID(1);
/