后端
文章平均质量分 78
sunny boy .
笑口常开,好彩自然来,学习一点再学习一点,量变过程。
展开
-
mybatis批量插入
mybatis批量入库项目缘由编写 mapper分批处理类测试项目缘由在朋友咨询之下,如何快速处理mybatis批量入库问题,个人也探索一下,并写成组件化。个人这里主要讲解foreach批量入库操作编写 mappertest表CREATE TABLE `test` ( `id` int(11) NOT NULL, `name` varchar(255) NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;原创 2021-11-12 01:33:50 · 484 阅读 · 0 评论 -
记录一次简单Presto查询优化
Presto查询优化(in数据量过多)问题描述presto平台数据库脚本问题分析总结参考资料问题描述 公司项目老板想看公司特定的汇总数据分析,这些信息数据比较零散,分析困难,同时数据量比较庞大,此外数据查询需要实时性,因此项目团队考虑到大数据hive处理数据采集,然后汇总到presto数据库查询,最后数据汇总也有上千万数据。后端多维度实施分析数据返回给前端浏览器时,效率比较慢。因此,本文针对presto查询慢问题分析以及一些慢查询分析思路,如有写不好,望多多原创 2021-10-23 16:41:19 · 894 阅读 · 0 评论 -
设计模式六大原则-java复读记录
设计模式六大原则-java复读记录内容总览单一职责原则里氏替换原则依赖倒置原则接口隔离原则迪米特法则开闭原则设计模式参考文献内容总览单一职责原则里氏替换原则依赖倒置原则接口隔离原则迪米特法则开闭原则单一职责原则单一职责原则(SRP:Single responsibility principle)又称单一功能原则,面向对象五个基本原则(SOLID)之一。它规定一个类应该只有一个发生变化的原因。该原则由罗伯特·C·马丁(Robert C. Martin)于《敏捷软件开发:原则、模式与实践》原创 2021-04-16 12:12:14 · 133 阅读 · 0 评论 -
Tomcat NIO模式源码解读
Tomcat解读前提NIO概述引用总览Spring Boot内置tomcat源码NIO解读启动流程请求返回流程前提这里提及前提,那是因为如果没有前提知识,要读懂tomcat是有一定的困难,个人认为要解读tomcat源码之前,最好具备以下前提知识(可自行选择阅读,若有时间均阅读更佳)三次握手和TCP原理 https://blog.csdn.net/lijin_12456/article/details/84887878Linux下网络编程 https://blog.csdn.net/weixin_4原创 2021-04-12 18:38:11 · 695 阅读 · 2 评论 -
spring循环依赖注入问题
之前个人比较少看面试题,针对同事的询问,个人也去网上查找和自己阅读一下源码,发现有一篇文章写不错,推荐推荐https://blog.csdn.net/u012098021/article/details/107352463自己也看源码和相关大牛博主,针对spring循环依赖注入问题,个人总结一下针对面试官的考查,个人感觉面试官考查内容是1.考察个人设计能力,所以spring循环依赖,需要自己去理解和去阅读以及去验证,不要相信别人片面的讲解,当然别人的讲解有助于你去阅读和验证2. 对象组成成..转载 2021-03-27 10:32:27 · 173 阅读 · 0 评论 -
xxl-job简用记录
xxl-job简用记录简述技术栈分支模块xxl-job样例调度中心执行器简述在我们日常开发中会有一些业务逻辑需要定时任务处理,常用的定时任务有quartz和多线程定时任务@Scheduled实现,但是实现并没有良好的上报数据和监控数据,定时任务的结果无法实时告诉我们以及一些错误转移和并发定时调度问题等。要实现并发定时调度和故障转移等功能时存在难点,因此使用xxl-job处理此问题。这篇文章简单记录使用xxl-job使用。技术栈spring boot基础框架模块java基础技术xxl-job分布原创 2021-02-27 17:14:23 · 904 阅读 · 9 评论 -
spring cloud&ribbon应用植入
spring cloud&ribbon应用植入简介应用总览模块总览技术栈注册中心eureka-serverpom配置bootstrap配置application配置启动类用户中心user-centerpom配置application配置启动项目用户中心提供的api user-center访问调用api admin-client-api总结参看文献源码简介随着微服务普及,懂得微服务变得越来越重要,也是java程序员的必备基础,个人为了学习和了解微服务的负载均衡ribbon的实现原理和feignC原创 2021-01-31 15:53:31 · 436 阅读 · 2 评论 -
登录会话模型实战
登录会话模型实战简介操作流程数据库设计curd操作工具登录鉴权实现登录代码用户资源查询登录接口认证和鉴权ApplicationUtil工具类GrantedAuthority权限控制类security Filter鉴权测试总结源码简介登录会话是基本操作,不管哪个应用都会涌动的模块,针对于此,个人随便编写了一个简单案例,针对前面spring security的功能文章进行完善操作流程数据库设计操作链接:用户中心-数据库设计curd操作工具操作链接:springboot植入pagerHelper和s原创 2021-01-24 14:36:33 · 435 阅读 · 3 评论 -
springboot植入pagerHelper
springboot植入pagerHelper简介技术方案maven jar导入maven plugin配置配置generatorConfig.xml测试样例总结&反思源码地址简介前面个已经讲过mybatis的批量更新操作。批量操作还有时分页查询,针对项目的完善性,来讲解一下分页工具的植入pagerHelper和tk.mybatis使用。其实官网已经有具体代码,代价有空可以多多参考官网操作。链接地址MyBatis-Spring-Boot技术方案maven jar导入查看官方说明引入依赖,如原创 2021-01-24 13:41:43 · 497 阅读 · 3 评论 -
浅谈用户中心-数据库设计
浅谈用户中心-数据库设计简介模型表结构后续扩展简介随着我们用户信息越来越庞大,微服务架构的流行,单体应用无法支撑强大的用户群,慢慢衍生了用户中心的概念,这里只是简单的讲解用户相关的数据库设计模型,主要讲解用户菜单和资源权限设置有关的E-R设计和表结构,同时后续会简介基本技术设计方案实现登录和会话校验以及用户信息的基本操作。模型这里只做简单数据模型设计,毕竟不是真正的项目。表结构DROP TABLE IF EXISTS `mybatis`.`tb_user`;create table `myb原创 2021-01-24 13:23:10 · 3017 阅读 · 5 评论 -
java注解式脱敏
java注解式脱敏简述代码讲解脱敏枚举类注解类编写脱敏工具类脱敏AOP的实现实战演练友情链接简述随着互联网时代普及,用户的信息越来越重要,我们开发软件过程中也需要对用户的信息进行脱敏处理活着加密处理,针对于比较繁杂的工作,个人来讲解如何实现注解式脱敏,支持静态调用和aop统一拦截实现脱敏或者加密返回。代码讲解脱敏枚举类 定义枚举类,处理所有脱敏和加密等,同时可扩展性,这里只是注解式调用方法而已,以便编写样例。DesensitizationEnum若还需原创 2021-01-17 21:31:54 · 1856 阅读 · 1 评论 -
spring security实战之路
spring security实战之路简述初始化工程maven配置application配置main函数配置代码实战SecurityContext讲解Authentication授权讲解过滤认证功能实现配置WebSecurityConfigurerAdapter测试编写controller控制类统一报文返回设置工程源码简述目前主流的权限校验框架很多,其实每一种框架校验都有优缺点,我们只有不停的学习才能不停的成长,同时提高自己的编码能力和逻辑思维。接下来我们具有spring security实现登录状态校原创 2021-01-16 20:23:20 · 402 阅读 · 1 评论 -
spring mybatis更新几种操作
spring mybatis更新几种操作简述代码实践拦截器批量操作批量拦截器Configuration注入拦截器测试sql测试类利用mybatis实现批量源码简述在日常编程中难免会有批量操作,实现物理批量操作框架有有不少,比如mybatis plus,还有提及一些比如跨数据库操作也有操作的中间件比如阿里的ADB,还有apache开源的shardingsphere,哈哈,这都是微服务时代产生的产品,这里不多说。这里主要讲解两种实现批量更新,在学习之前,建议了解一下AOP和mybait的plugin原理in原创 2021-01-16 20:21:29 · 1079 阅读 · 8 评论 -
Springboot之kotlin&java
Springboot之kotlin&java简介示例简介技术体系操作流程搭建mysql&jdk初始化spring boot项目包结构application文件文件数据类总结&反思简介我们都知道java是面向对象的编程语言,但是其实编写代码有些复杂性,即使后来出现了jdk8加大代码开发的便捷性,但是依然不够简洁,就算强大的jvm作为运行环境,也难以各大环境中互相运行,google提倡出kotlin语言开发,同时植入了Android内部,无需插件即可开发。这里不做过多的简介语言的优缺原创 2021-01-09 14:16:01 · 1983 阅读 · 8 评论 -
浅谈分布式架构搭建-理论知识
浅谈分布式架构搭建基础理念技术选型后端技术设计总体架构设计关键案例设计架构师搭建架一般优先考虑的是安全性、稳定性、高吞吐量。哈哈,菜鸟的我让我装个B,回忆一下以前架构搭建基础理念 CAP(一致性、可用性、分区容错性)是没法三者均做到,最多能实现两个。在系统搭建是,这里系统搭建探讨优先考虑几个点,由高到低为安全性、稳定性、高吞吐量(系统方案的讨论在“关键方案设计”)技术选型其实在一个框架的技术选型根据实际使用业务场景来决定的,还有通过多个技术比对优选技原创 2020-12-16 14:06:56 · 3274 阅读 · 8 评论 -
浅谈mybatis-plugin
这里写目录标题简介使用方式拦截器原理 interceptor初始化interceptor拦截拦截器使用案例总结&反思参看文献在技术探讨之前,想提一个疑问,为啥要解读源码和核心技术呢?其实初级人员一般会觉得使用就行,没必要用那么多时间研读源码和流程。但是个人觉得解读源码有以下优点:1、深入了解java,对自己相关整体知识的回归2、拥抱设计模式,体验开源技术的设计思路3、自主设计和数学逻辑思维提升4、学会总结,提升自我简介  原创 2020-12-14 18:52:17 · 550 阅读 · 0 评论 -
java多线程-学习总结(完整版)
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2020-12-04 00:02:16 · 6735 阅读 · 12 评论 -
JVM内存模型-回忆学习总结
jvm在我们日常开发过程中比较少使用,但是当我们考虑到架构设计以及系统层面流程开发时,就不得不考虑jvm内存模型,特别是在性能调优,系统异常排查是经常使用。原创 2020-11-26 17:11:49 · 676 阅读 · 2 评论 -
spring boot+mybatis常见使用
1. 下载默认项目,spring项目初始化,并添加依赖包,如下图:2. 添加jdbc数据源配置和映射文件application.properties: spring.application.name=mydemologging.path=./logsspring.datasource.url=jdbc:mysql://localhost/jpa?serverTimezone=U...原创 2018-12-20 11:33:04 · 494 阅读 · 0 评论