当前位置: 首页 > news >正文

兰州网站建设天津seo招聘

兰州网站建设,天津seo招聘,网站域名301重定向,南阳网站排名👏作者简介:大家好,我是小童,Java开发工程师,CSDN博客博主,Java领域新星创作者 📕系列专栏:前端、Java、Java中间件大全、微信小程序、微信支付、若依框架、Spring全家桶 &#x1f4…

👏作者简介:大家好,我是小童,Java开发工程师,CSDN博客博主,Java领域新星创作者
📕系列专栏:前端、Java、Java中间件大全、微信小程序、微信支付、若依框架、Spring全家桶
📧如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步👀
🔥如果感觉博主的文章还不错的话,请👍三连支持👍一下博主哦
🍂博主正在努力完成2023计划中:以梦为马,扬帆起航,2023追梦人

  

问题起源

最近接手的某款办公软件,其中要添加一些额外的功能,涉及到树状层级的部门,人员查找。又最近在学习若依管理系统,其中也设计到层级的部门管理,查看了其中的部门表设计与一些SQL编写,发掘有一些小小的差异,即可带来检索与查找的极大遍历。容我们慢慢道来。

若依中的dept表设计

若依系统中的sys_dept表设计字段如下:

 若依系统中添加部门的操作页面如下:

 

 

我们选几个重点字段说一下:

  1. parent_id字段:表明当前部门的上级部门节点id;
  2. order_num:表明当前部门在其上级部门下的排序次序;
  3. ancestors: 注释为“祖级列表”,我们来看一下表中的数据以及对应的真实的数据结构:

比如,若依中默认的部门级结构如下:

 

我们来看一下其中"若依科技->深圳总公司->研发部门"的数据库具体数据,尤其是ancestors数据是什么样的:

 

如图所示,研发部门的ancestors数据为“0,100,101”,0为所有部门父级,不表示具体部门,如果一个部门的父级只有0,表明其为最高级的部门;100表示dept_id=100的若依科技,101表示dept_id=101的深圳总公司。

乍一看这个字段设计的如此复杂,需要保存从最高级直到本级中的所有部门节点,给保存、更新带来了很大的复杂度,这样设计有什么好处呢?

另一种常用设计

说是另一种常用设计,更准确是说是我们当前系统的表设计,为了不违反公司相关规章,这里我就不贴真实的数据库表截图了,大概是这样的:

iddept_nameparent_id
1总公司0
2一级部门1
3二级部门2

即仅通过一个parent_id来表明层级关系,这样带来的一个显而易见的好处便是保存与更新带来的操作比较简单。

差异

差异就在于若依中的层级表设计有字段来保存部门祖级的所有节点。最近实现业务代码涉及到这块儿功能才发觉其有很好的实用性。

列举所有子部门

层级结构中最常见的一个业务是列出部门下的所有子部门,那么应该如下编写代码呢?

显然,如果没有ancestors的帮助,我们需要在代码中通过parent_id逐层逐级的遍历列举以及合并列表,而有了ancestors帮助,我们只需要一行SQL语句:

.....WHERE dept_id IN ( SELECT dept_id FROM sys_dept WHERE find_in_set('100', ancestors ) )

逐级查找所有父级部门

这种业务通常处于低级部门规则覆盖高级部门规则的场景下,即部门人员总是采用部门层级最接近自己的部门的规章,按照这一原则来实现代码的话,ancestors直接列举出了从高到底各个层级部门,而仅有parent_id则需要通过代码来循环查找父级部门。

 

专栏:若依框架 

 

                                                                      关注公众号,领取资料。 

http://www.mnyf.cn/news/46433.html

相关文章:

  • 哈尔滨专业做网站推广互联网广告投放公司
  • 上网用哪家公司的比较好舟山seo
  • 建筑网片生产设备佛山网站优化排名推广
  • 青岛网站公司搜索引擎优化目标
  • 跳转网站正在建设中友链网
  • 做爰试看的网站深圳百度推广属于哪家公司
  • 移动web网站开发网络销售平台排名前十
  • 做代购可以在哪些网站上软文推广文章范文
  • 网页源代码怎么调出来谷歌seo最好的公司
  • 北海市建设局网站虎扑体育网体育
  • 沈阳做网站优化哪家好seo排名赚挂机赚钱软件下载
  • 手机网站建设域名空间博客网站登录入口
  • 重庆网站建设解决方案及流程东莞新闻最新消息今天
  • 学校网站开发工作室网站优化包括哪些
  • 苏州塔维斯网站建设网站seo课设
  • 政府网站建设存在问题seo关键词优化要多少钱
  • icp备案需要先建设网站么品牌营销策略有哪些方法
  • 沧州网路运营中心百度seo排名点击器
  • 下列关于网站开发中网友上传一呼百应推广平台
  • 乐清网站制作公司seo优化 搜 盈seo公司
  • 武汉建站费用五年级上册语文优化设计答案
  • 百度怎么发布网站网络优化公司哪家好
  • 赛扬e3300做网站关键词优化公司网站
  • 网站建设kaodezhu网页游戏
  • 网站建设的原因收录
  • wordpress 绑定手机百度关键词怎么优化
  • 做社群的网站有哪些拓客最有效方案
  • 自适应网站的图做多大 怎么切杭州seo招聘
  • 怎么做幼儿园网站整站优化 mail
  • 东莞手机app开发长沙seo外包优化