java data文件夹_java – DataBase(datamodel)构建文件夹结构

对于存储在DB中,最简单和最直接的方法是为每个文件夹/节点设置parent_folder_id.在大多数情况下,这应该足够好,特别是您将构建文件夹对象结构并基于对象模型进行操作.

取决于您的要求,您需要一个非常常见的案例

>找出特定文件夹下的所有子文件夹

>通过SQL直接从DB执行查找.

如果它是您正在寻找的,那么有一个有趣的方法,你可以看看:

每个DB记录将有2个额外的数字字段,让我们称之为LEFT和RIGHT

假设这样一棵树:

ROOT

+ A

| + A1

| + A2

+ B

+ B1

将要存储在DB中的是什么

Node LEFT RIGHT ... other fields

ROOT 1 12

A 2 7

A1 3 4

A2 5 6

B 8 11

B1 9 10

>每个父节点具有LEFT =第一个孩子的LEFT-1,而RIGHT =最后一个孩子的RIGHT 1

>叶节点将具有LEFT和RIGHT为2连续数

>每个节点的左边应该是=先前兄弟的右边1,右边=下一个兄弟的左边 – 1

当您需要通过SQL查找特定节点(N)下的所有节点时,只需找到LEFT>的所有节点. N.LEFT和RIGHT< N.RIGHT 您可以通过批量更新相关节点轻松执行插入/删除(不是一项艰巨的任务,请留给您:P) 这可能不是非常友好,但如果我提到的要求是你需要的,你可以考虑使用这种方法.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值