介绍
使用一张表即可, 分类之间的层级关系主要由id区分
例如:
一级分类:01,02,03
二级分类:0101,0102,0103,0201,0202…
三级分类:010101,010102,010103,010104…
其中通过手动设置每级分类所占的数字个数来限制每级的最大类别个数,如上例中每增加一级分类数字增加两位且起始位为1,即每级最多有99个分类,最高一级的父级ID为0。
数据库结构如下:
name | type | description |
---|---|---|
id | varchar(255) | ID |
parent_id | varchar(255) | 父级ID |
name | varchar(255) | 类别名称 |
优点
查询方便,例如想要获取分类01下的所有子类仅需使用
like '01%'
就可得到一级分类01下的所有子分类
缺点
添加、转移、删除分类时所需的处理较多
操作
添加分类
String parentId; //传参得到的父级ID
String lastId; //从数据库获取当前层级中最大的ID
String thisId = String.valueOf(Integer.parseInt(lastId)+1); //最大ID+1