11-分类实现

分类实现

由于查询的结果并不是只在一个表中,那么pojo就不能满足需求,我们需要在VO层中定义相关的属性,VO层的存在就是方便前端获取数据,后端将前端的需要的数据做一个整合,打包成一个类。

​ 首先我们自己定义CategoryVO,

public class CategoryVO {
    private Integer id;
    private String name;
    private Integer type;
    private String fatherId;

    private List<SubCategoryVO> subCatList;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getFatherId() {
        return fatherId;
    }

    public void setFatherId(String fatherId) {
        this.fatherId = fatherId;
    }

    public List<SubCategoryVO> getSubCatList() {
        return subCatList;
    }

    public void setSubCatList(List<SubCategoryVO> subCatList) {
        this.subCatList = subCatList;
    }
}

​ 接这定义子分类的VO,

public class SubCategoryVO {
    private Integer subId;
    private String subName;
    private Integer subType;
    private String subFatherId;

    public Integer getSubId() {
        return subId;
    }

    public void setSubId(Integer subId) {
        this.subId = subId;
    }

    public String getSubName() {
        return subName;
    }

    public void setSubName(String subName) {
        this.subName = subName;
    }

    public Integer getSubType() {
        return subType;
    }

    public void setSubType(Integer subType) {
        this.subType = subType;
    }

    public String getSubFatherId() {
        return subFatherId;
    }

    public void setSubFatherId(String subFatherId) {
        this.subFatherId = subFatherId;
    }
}

一般我们写mapper.xml文件时,我们写的sql语句现在navicat跑起来,确认sql语句没有问题。

SELECT
    f.id AS id,
    f.`name`AS `name`,
    f.type AS  type ,
    f.father_id AS fatherId,
    c.id AS subId,
    c.`name`AS subName,
    f.type AS  subType,
    f.father_id AS subFatherId
FROM
    category f
LEFT JOIN
    category c
ON
    f.id = c.father_id
where
    f.father_id = #{rootCatId}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现左树右列表的布局,可以使用 Element UI 的 Tree 和 Table 组件结合使用。以下是一个简单的示例: ```html <template> <div> <el-row :gutter="20"> <el-col :span="8"> <el-tree :data="treeData" node-key="id" default-expand-all @node-click="handleNodeClick" ></el-tree> </el-col> <el-col :span="16"> <el-table :data="listData" border> <el-table-column prop="name" label="姓名"></el-table-column> <el-table-column prop="age" label="年龄"></el-table-column> <el-table-column prop="gender" label="性别"></el-table-column> </el-table> </el-col> </el-row> </div> </template> <script> export default { data() { return { treeData: [ { id: 1, label: '分类1', children: [ { id: 11, label: '子分类1' }, { id: 12, label: '子分类2' }, ], }, { id: 2, label: '分类2', children: [ { id: 21, label: '子分类3' }, { id: 22, label: '子分类4' }, ], }, ], listData: [ { name: '张三', age: 20, gender: '男' }, { name: '李四', age: 25, gender: '女' }, { name: '王五', age: 30, gender: '男' }, ], }; }, methods: { handleNodeClick(data) { // 根据点击的树节点更新右侧列表数据 // 这里可以根据需要进行异步请求获取数据 // 然后更新 listData }, }, }; </script> ``` 在上面的示例中,使用了 `<el-tree>` 组件实现左侧的树状结构,通过 `treeData` 数据来渲染树节点。当点击树节点时,可以通过 `handleNodeClick` 方法来处理点击事件,例如根据点击的节点获取相关数据并更新右侧的列表数据。 在右侧使用了 `<el-table>` 组件来展示列表数据,通过 `listData` 数据来渲染表格内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值