- 博客(13)
- 资源 (2)
- 收藏
- 关注
原创 分布式系统内集成雪花算法的实践
之前业务系统一致使用UUID来作为生成唯一标识,由于是分布式业务并且是多机器多节点,所以可能会存在重复情况,之前的业务也只是用捕获入库失败异常来for循环三次去实现减少失败情况,但是小概率还是会存在失败,尽管非常小概率…所以对代码进行优化,使用雪花算法进行修改。如下开始雪花算法的实现雪花算法是64位的二进制组成,展示如下:具体算法实现可以百度,不讲算法。我们能自定义的就只剩下机器id和服务id号。
2023-02-17 13:29:50 362
原创 一种实现敏感数据加解密方案
由于项目用需要使用个人信息保护技术,所以项目引入数据加密,并且是数据库级别加密。由于项目使用mybatis,所以项目使用了myabtis 的 Interceptor handler技术。技术原理不解释,而我这里要解释一个新方案。关于说业务代码需要处理未加密的数据,那么则可以在Interceptor中将未加密数据存储到另一个字段,而参数对象则可以继承一个类,使用Map作为变量存储未加密数据,用于业务处理,那这样的修改必然对业务是有影响的,方案大多数都是在controller或dao层面进行数据加密。
2023-02-14 16:22:56 512
原创 分布式事务seata实践-AT模式
国产的开源框架越来越趋于简单配置、开箱即用,这是一个很好的迹象。说明国内的IT事业发展的水平越来越高。nacos和seata远不止博文这么点功能。需要更多的探索发现。
2022-10-26 17:07:20 334
原创 mybatisplus一次行一对多查询
项目场景:mybatisplus 一对多问题描述:mapper文件结果:mybatis进阶玩法,一次性查询查出一对多关系
2021-07-21 10:10:53 191
原创 spring 源码阅读笔记-从浅到深的解析
目录第一章 源码安装文章目录目录前言一、spring源码下载二、构建源码及使用1.源码构建2.使用构建源码总结前言由于spring的源码常常以语言和高深莫测的地位存在,而源码解析少之又少,遂此系列文章出现,本系列将使用浅显的语言和图解进行描述。但是由于技术的性质,此系列依旧对理解能力有要求,面向使用过spring的开发者全是干货,带水的不要!好戏开场了!一、spring源码下载首先需要下载源代码地址:https://github.com/spring-projects/spri
2021-06-16 15:13:03 240
原创 springboot的logback配置
springboot的logback废话不多,直接展示。分级别!一、日志效果logback.xml<configuration scan="true" scanPeriod="10 seconds" debug="true"> <property resource="logback.properties" /> <contextName>${context.name}</contextName>
2021-06-10 16:08:33 125
原创 复杂对象在mapper中的使用
项目场景:在mapper中遍历复杂对象如 private List<Map<String,Object>> time; //此对象是list和map的组合, //存储数据的格式 "time":[{"year":2021,"quarter":[0,3]},{"year":2022,"quarter":[0,3]}], 解决方案: <if test="target.time != null and target
2021-06-02 09:50:49 329
原创 parallelStream与事务
多线程事务-java的Lamda的parallelStream与事务parallelStream与事务parallelStream与steam的介绍不再赘述。关于使用多线程对数据处理是常见场景,事务也必不可少,遂此文出现。场景:excel导入使用EasyExcel进行数据入库,对数据校验较多,数据量较大,需要引入多线程。 //事务状态 List<TransactionStatus> transactionStatuses = Collec
2021-05-28 13:48:15 1112
原创 Sql Server 创建父子路径
由于项目适配需要DM和sqlserver都需要一套sql,而sqlserver的自定义函数必须dbo开头,所以折中办法...
2021-03-11 22:08:43 222
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人