MySQL 中两张表主键自增时,Java 后端组成树形结构的解决办法
场景
当需要将两张不同表的数据进行合并处理,并且两张表的主键均为自增,主键同是数字。这时候需要区分的、不同的表进行取值,可以使其中一张表的主键为负数,即-1,-2,-3。
当需要把取出来的两张表分别再存进数据库时,要将之前取值是负数的主键转为正数,而转为正数的方式也很简单,也就是负负得正,即(-(-1)) = 1
具体示例
将系统表和菜单表的数据组合成树的形式,示例如下:
[{
id: 1,
lable: 基础数据,
parentId: null,
children: [
{
id: 1,
lable: 用户管理,
parentId: 1,
children: []
},