zoukankan      html  css  js  c++  java
  • JeeSite 4.x 树形结构的表设计和用法

    有些同仁对于 JeeSite 4 中的树表设计不太了解,本应简单的方法就可实现,却写了很多复杂的语句和代码,所以有了这篇文章。

    在 JeeSite 4 中的树表设计我还是相对满意的,这种设计比较容易理解,不会太依赖数据库的语法,对兼容多数据库比较好。相比网上大牛的左右值树设计简单了很多,并且可随时调换父节点,并级联更新所有子节点数据。

    看下表字段说明我们发现除了父级节点外又多了很多辅助字段,这写字段的维护可能会稍微影响我们的插入和更新性能, 但是这将极大的简化了我们的查询,并不限深度。废话不多说,下面我们一同来就来看看都有哪些好处。

    树表字段说明

    字段名说明
    xxx_code节点编码(xxx表示用户自定义名称)
    xxx_name节点名称(xxx表示用户自定义名称)
    以下是树表关键字段:
    parent_code节点上级编码
    parent_codes节点所有上级编码(快速检索下级节点)
    tree_sort当前层级排序号(decimal类型)
    tree_sorts树节点的完整排序号,10位数字组成(快速整树排序)
    tree_leaf是否是末级,是否叶子节点(0:否,1:是,char类型)
    tree_level节点层次级别(从0开始,decimal类型,快速分级查询,根据层级缩进)
    tree_names节点的全名称(用“/”分隔,快速获取当前节点完整路径)
    以下是树表可选字段:
    status节点状态(0:正常,1:删除,2:停用)
    create_by创建者用户编码
    create_date数据创建时间
    update_by更新者用户编码
    update_date数据更新时间

    下面以区域树表举例

    定义实体Entity

    用户自定义的节点编码是area_code

  • 相关阅读:
    【cocos2d-js网络教程篇】cocos2d-js http网络请求
    COCOS2D
    Laravel5中的Session
    Laravel 下配置 Redis 让缓存、Session 各自使用不同的 Redis 数据库
    cocos-js Http方式网络请求
    Python语法31[module/package+import]
    cocos2d-js callFunc传参
    安装pygame for Python3.5
    阿里云vsftp安装和简单的配置
    Git代码行统计命令集
  • 原文地址:https://www.cnblogs.com/jpfss/p/10419148.html
Copyright © 2011-2022 走看看