blog

hs-web简介、数据表设计

简介

hs-web是一个用于快速搭建企业后台管理系统的基础项目,集成一揽子便捷功能如:通用增删改查,在线代码生成,权限管理,OAuth2.0 ,动态多数据源分布式事务,动态脚本,动态定时任务,在线数据库维护等等. 基于 spring-boot,mybaits。项目地址 hs-web-framework

代码目录结构

该项目的所有功能功能都是通过SpringBoot的starter的方式动态增加的,这点要牢记。

基本目录结构如下(以authorization为例):

hs-web项目图片

其中

看懂一个具体的模块,其它模块都是类似的结构,就非常好理解了。

下面先看一下hsweb-framework涉及到的数据表的设计

hsweb-framework数据表的设计

hsweb-framework共包括77张表,除去工作流表25张以及quartz表11张外,共41张表。

权限相关表如下:

按照常规思路,权限设计会用到5张表:用户、角色、权限以及用户角色、角色权限关联关系表。但在hs-web中,可以给用户赋予权限,也可以给角色赋予权限,再给用户赋予角色。所以惯常的5张表设计需要调整。hs-web中是增加了一张s_autz_setting表,这样在关联关系表中,关联的不是角色id或者用户id,而是setting表的id。理解了这一点后,就很好理解hs-web的权限表设计思路了。

后续表在分析到相应功能后再做补充。