多表关联主键

        在读项目代码时看见了一种主键的方式,通过加密算法用来给定关联表的主键值。

        员工和部门表主键UUID,关联表使用 (员工Id+部门Id)通过MD5算法,这样在查询关联信息的时候可以直接根据双方的Id就可以得到关联表的信息,而不需要做复杂的关联查询。

import lombok.SneakyThrows;
import org.springframework.util.DigestUtils;
import java.nio.charset.StandardCharsets;
import java.util.UUID;

public class Test {
    @SneakyThrows
    public static void main(String[] args) {
        String userId = UUID.randomUUID().toString().replace("-","");
        String deptId = UUID.randomUUID().toString().replace("-","");

        System.out.println("------------第一次新增关联关系 -------------");
        System.out.println("员工Id: "+userId);
        System.out.println("部门Id: "+deptId);
        System.out.println("关联表Id: "+DigestUtils.md5DigestAsHex((userId+deptId).getBytes(StandardCharsets.UTF_8)));
        System.out.println("----------------------------------------");

        System.out.println("------------第二次查询关联关系 -------------");
        System.out.println("关联表Id: "+DigestUtils.md5DigestAsHex((userId+deptId).getBytes(StandardCharsets.UTF_8)));
        System.out.println("----------------------------------------");
    }
}

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值