在开发工具类项目的过程中,或多或少都会涉及到层级关系展示的问题,比如区域、机构,我这里选取机构作为例子,前端选取了treetable,treetable需要数据是父-->子1-->子1子子,子2-->子2子子。所以选择在后端保存数据按照这个思路设计。
数据库设计:
DROP TABLE IF EXISTS `t_department`;
CREATE TABLE `t_department` (
`id` int(10) NOT NULL AUTO_INCREMENT COMMENT '部门编号',
`name` varchar(128) COLLATE utf8_bin NOT NULL COMMENT '部门名称',
`pid` int(10) DEFAULT NULL COMMENT '父级编号',
`pids` varchar(128) COLLATE utf8_bin DEFAULT NULL COMMENT '所有父级编号',
`remark` varchar(512) COLLATE utf8_bin DEFAULT NULL COMMENT '备注',
`creater` varchar(64) COLLATE utf8_bin NOT NULL COMMENT '创建者',
`create_time` datetime NOT NULL COMMENT '创建时间',
`updater` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`del_flag` char(1) COLLATE utf8_bin NOT NULL DEFAULT '0' COMMENT '删除标记',
`seq` varchar(250) COLLATE utf8_bin NOT NULL COMMENT '排序号',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEF