自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 收藏
  • 关注

原创 MybatisPlus手动分页工具类封装(复制即用)

MybatisPuls手动分页工具类封装(复制即用)

2024-02-20 16:32:26 212

原创 记录一次使用网云穿实现内网穿透操作

内网穿透也叫内网映射,将本地服务器内网IP端口提供到外网,实现外网连接访问的过程。内网穿透可以将原本只能在本机、本局域网内访问的项目网站等,实现外网也同样可以访问。

2023-09-14 22:56:32 1650 1

原创 spring-boot配置druid数据库连接池(模板)

springboot 配置druid数据库连接池模板(快速复制)

2023-03-21 14:03:25 614

原创 Java实现文件下载zip包单文件等

摘要本次主要记录将多个文件打包到zip压缩包并完成下载;留个代码方便以后用到了ctrlcv。

2022-07-17 23:09:33 4753 3

原创 SQL替换字段中一部分字符串

SQL替换字符串为指定字符串

2022-06-01 10:04:36 680

原创 判断线程池的线程是否全部执行结束

判断线程池的线程是否全部执行结束boolean flag = false;List<Callable<Boolean>> tasks = new ArrayList<Callable<Boolean>>();for (int i = 0; i < threadNum; i++) { task = new Callable<Boolean>() { @Override public Boolean

2022-05-18 23:28:00 801 1

原创 达梦数据库版本问题

达梦数据库版本问题导致的一个线上bug记录摘要:前段时间公司项目上线,因为服务器,数据库版本等出现了一系列线上问题,本次主要记录国产数据库达梦7和达梦8的版本不同引起的一个SQL执行报错.1 问题order by 关键字与union all 关键字一起使用,由于DM数据库版本问题引起的SQL执行报错.1.1 具体SQL样式select * from ( (select 123 num1, 456 num2 from dual order by num1 desc limit 1

2022-05-18 23:08:22 1535

原创 EnableWebMvc注解乱码问题解决

@EnableWebMvc注解中文乱码问题解决1 问题出现 @GetMapping("/logout") public String logout(){ StpUtil.logout(); return "退出登录!"; }请求后返回如下2 解决其实就是一个中文乱码问题:解决思路有两种,一种是局部解决,一种是全局解决2.1 局部解决在controller层加注解@GetMapping(value = "/login/{

2022-03-27 11:54:11 399

原创 Nginx配置反向代理和负载均衡等-docker

Nginx 配置反向代理和负载均衡前言这段时间在重新搞自己阿里云服务器上的博客,想着使用docker来搞一下方便后期“移植”,所以也顺带玩了一下nginx(我自己服务器实际上是用不到nginx的,只是这里纯属放假因为疫情出不去没事干搞着玩。。。)摘要本文主要内容1 docker下安装nginx、配置nginx挂载;2 nginx 配置反向代理3 nginx 配置负载均衡4 nginx 一些原理参数理解。注意:1 本文不再复述docker的安装和配置等。详情请参考 Docker的安装

2022-02-02 22:40:15 2193 1

原创 kettle数据同步完善版

kettle实现数据增量同步完善版前言前段时间有记录一次使用kettle实现数据同步的操作,内容包括kettle的安装配置job的创建translate的创建等。当时做的时候使用使用的是写死的时间点(也就是每次同步的时候都会从这个时间点开始查询数据再做对比,并完成数据的同步更新到target数据源中)。当然开始再数据量小并且使用主键ID做数据对比的情况下,数据同步的速度还是非常快的,但是随着数据的不断增加和不同的业务需求变更,有些业务我们不能使用ID来进行数据的对比,这个时候数据量特别大的情况下就

2022-01-29 23:09:19 3584 4

原创 Docker的安装配置以及IDEA的Docker插件使用

Docker 的简单使用摘要本篇博客主要介绍Docker的基本概念和简单使用内容包括:1 Linux安装docker,以及配置;2 IDEA插件界面化操作docker完成镜像的拉取,容器的创建;3 配置mysql镜像的自启;4 最后通过一个简单的Springboot项目简单演示docker完成项目的发布和部署等1.1 什么是Docker概念:Docker 是一个开源的应用容器引擎 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 L

2022-01-15 17:43:41 2724

原创 ETL工具kettle实现数据同步

ETL工具kettle实现数据同步摘要:这次记录是因为前段时间公司新开的项目,新建了一个数据库,有部分数据在新的项目中用的到,需要从原来的数据库中同步过来,原来的做法是在项目中使用task定时任务来定时从原来的数据库中拉取数据,但是在一个项目中实现跨数据源是一个很烦凡人的事请而且代码实现方式效率不高还可能遇到其他一些问题:比如项目挂了那你的定时任务自然也挂挂了,后台项目组长让使用ETL工具实现同步,找了半天找到一个开源免费的工具Kettle.前提:我使用的window如果你的linux版本可以自

2021-12-19 23:54:32 4651 5

原创 uncategorized SQLException; SQL state [null]; error code [0]; sql injection violation, syntax error

uncategorized SQLException; SQL state [null]; error code [0]; sql injection violation, syntax error: ERRORSQLException摘要:本次主要记录自己在项目中编写SQL的时候遇到的异常uncategorized SQLException; SQL state [null]; error code [0]; sql injection violation, syntax error: ERROR

2021-12-19 11:58:45 24571 1

原创 Stream的一些常用操作

Stream流的一些操作这段时间在项目开发中使用到Java8 的 Stream流操作发现真的特别方便,这里总结了一些常用的stream流操作.1 简介在使用Stream流之前先来简单介绍一下:1 Stream事java8才提供的一种以流的方式来处理数据集的一种手段,凡是属于Collection接口之下的所有字类或者子接口都可以使用Collection.stream()方法来获取到一个流对象;2 Java8的API有提到过每一个Colection的Stream流只能执行一次,如果想要再次执

2021-12-19 11:06:54 1246

原创 Jmeter简单配置和使用

Jmeter简单配置和使用摘要Jmeter是Apache旗下的一款免费的接口性能测试工具,它可以模拟用户请求(请求数量和爆发时间段等)来检测接口性能。本次博客就是简单记录一下如何配置和使用这款工具。1 下载和安装Jmeter直接去Apache管网下载即可,百度搜索Jmeter,下载即可。2 Jmeter安装和配置安装相对简单,将下载好的压缩包解压到指定目录即可。配置:值得注意的是Jmeter是基于Java语言开发的,所以我们使用Jmeter之前需要先安装配置JDK(尽量使用1.8

2021-10-20 12:31:49 8181

原创 WebSocket

WebSocket前言问题:在工作中遇到这样一个问题,前端页面要实时刷新杭州某一条街道的积水告警信息,该信息的变化会随着积水深度的变化而变化,积水深度的变化由降雨量决定,而降雨量是街道办事处调用我们的接口把数据传递给我们的,街道办事处什么时候传递给我们,我们的告警信息就需要进行刷新。问题就在于他们是不定时调用我们的接口。那么页面要刷新数据,就需要在他调用之后才进行刷新。而且是每次调用都要进行刷新。那么什么时候把数据发回给前端比较合适呢?解决:1 前端页面轮询,就是每隔一段时间请求一次后台获取最新

2021-10-06 00:44:04 874

原创 问题解决:对已有的List集合数据进行分页

场景: 数据已经从DB中查出来并封装到了List集合中,之后需要对查出来的数据进行分页.先有的数据后执行分页public Object countListByLevelAndType(Integer level, String type, Integer pageNum, Integer pageSize) { if (level == null ||StrUtil.isEmpty(type)) { return new DataResult(ExecStatus.ERROR.

2021-08-31 10:13:23 2180 4

原创 个人学习总结

第一周:总结记录第一周工作内容和下一周计划。1 什么是BIBI全称商业智能(Business Intelligence),在传统企业中,它是一套完整的解决方案。将企业的数据有效整合,快速制作出报表以作出决策。商业智能BI在数据架构中处于前端分析的位置,其核心作用是对获取数据的多维度分析、数据的切片、数据的上钻和下钻、cube等。通过ETL数据抽取、转化形成一个完整的数据仓库、然后对数据仓库的数据进行抽取,而后是商业智能的前端分析和展示。说白了,商业智能就是对当前数据或者历史数据进行分析,帮助

2021-07-08 14:06:26 231

原创 Spring源码阅读--Bean的生命周期

Spring中Bean的生命周期摘要:本文主要学习内容1、在学习Spring源码之前我们可以先搞懂几个概念,这也是很重要的一些概念(为源码阅读做准备)。2、Spring的Bean的生命周期。3、Spring是如何利用三级缓存来处理循环依赖的。1 什么时Spring?Spring就是一款帮助我们管理对象的工具,它帮助我们创建Bean对象,并且管理对象与对象之间的依赖关系等。2 Bean和对象的区别?所有的Bean一定是一个对象,但是一个对象不一定是一个Bean;说白了,经过我们S

2021-06-16 01:41:07 164

原创 百万数据的导入导出解决方案

300百万数据的导入导出前景:在项目开发中往往需要使用到数据的导入和导出,导入就是从Excel中导入到DB中,而导出就是从DB中查询数据然后使用POI写到Excel上。写本文的背景是因为在工作中遇到了大数据的导入和导出,问题既然来了逃跑不如干掉它!!!只要这一次解决了,后期遇到同样的问题就好解决了。废话不多说,开始撸起来!!!1 传统POI的的版本优缺点比较其实想到数据的导入导出,理所当然的会想到apache的poi技术,以及Excel的版本问题。既然要做导入导出,那么我们就先来大致

2021-06-08 14:52:57 11963 27

原创 源码阅读---Spring依赖注入

Spring源码解读1 Spring的注入方式摘要:(1)Spring的注入方式其实可以分为手动注入和自动注入两种方式:(2)一半基于xml文件配置实现手动注入;自动注入可以基于xml或者注解方式实现自动注入;(3) 手动注入需要继续setter或者构造方法注入,自动注入则可以基于setter或者构造方法或者属性(注解方式)或者普通方法(注解方式)1.1 手动注入1.1.1 xml 配置中 property属性手动注入(setter方法注入)注意:使用property的方式注入必须

2021-06-03 11:41:58 167 1

原创 oracle创建用户和表空间并完成授权

很简单直接上SQL:注意:创建用户的时候我们需要使用DBA用户,也就是超级管理员用户(如果你之前没有创建过用户也没得选,只能以超级管理员登录之后创建);如果你之前已经创建过用户并且赋了创建用户的权限,那你可以使用之前创建用户;-- 创建表空间CREATE TABLESPACE study_kayDATAFILE 'D:\StudyWorkspace\JavaWorkspace\java_tools\Oracle19C\oracleWorkspace\tablespacekay\study_k.

2021-05-16 10:26:49 294 1

原创 解决问题记录:mybatis的TypeHandler处理blob字段的写入和读取

场景:开发中遇到这样一种情况,页面传来一个字符串,数据长度非常大,远远大出了varchar2类型的默认长度4000,这里就用到了oracle的blob字段;(其实这里使用clob字段更好,因为clob是大字符字段而blob是大的字节字段两者都用来存储大的数据,但是使用场景不同)问题:我们知道页面传递的字符串类型String,但是blob类型只能接受的byte[]类型,那么mybatis如何实现这两者的转换呢?1 解决思路最容易想到在接收之后将字符串转成字节数组 如: string.getBy.

2021-05-16 10:19:18 1724 4

原创 问题记录: Spring框架中使用List接收前端数组参数后台抛出索引越界

实际情景:数据库中有一张表,该表的字段足足有270多个!!!而这张表对应的恰好是一个银行的一个理财对象(这里就牵扯到银行的理财业务了)我们可以简单的理解为这张表就对应着银行的一项理财业务(银行的理财业务还有很多,这只是其中一个比较特殊的),而我们的系统有一个功能就是要配置这一项理财业务;顾名思义要配置就要获取这张表的所有字段,然后对这些字段进行一些设置,以便后期在页面上录入数据的时候只需要按照我们配置的要求录入即可;1 提交参数前端提交的参数是一个json格式如下:(情况一样)colums.

2021-04-22 23:46:25 652

原创 记录一下导入spring-framework-5.1.x源码到IDEA的过程和踩的坑(希望对大家有所帮助)

主要内容:1 源码的下载;2 Gradle的安装和配置3 源码的构建4 源码导入到IDEA中1 源码下载进入GitHub搜索下载推荐使用中国香港的下载源2 安装配置Gradle因为Spring源码使用的时Gradle构建的所以需要安装配置Gradle2.1 查看Spring5.1的Gradle版本一定要保持下载Gradle版本和源码中版本一致,避免出现未知异常问题先解压下载的源码zip包,然后查看Gradle版本(或者在GitHub中查看也行,这里在Git.

2021-04-05 02:15:52 370

原创 简记HTTP协议&长连接短链接

简记HTTP协议及长连接短链接摘要:本文主要深入记录Http协议,对Http协议进行深入了解;笔记中会对中不易理解的难点以及关键点进行记录对简单容易理解的内容简单记录即可;1 HTTP概念以及工作流程Http协议的概念字面意思上就是"协议",很大白话的一句话,现实生活中,我们也会在不同场合用到协议,比如你入职你个公司,公司不会任由你想做什么就做什么,入职时会给你签署这个协议,你按照协议办事,就会被认可,如果违反协议办事,那么公司就不会认同做的事;在计算机网络中,如果如果想要在客户端(浏览器

2021-03-27 21:53:05 535

原创 HahsMap源码(JDK.7和JDK1.8)

HahsMap底层摘要:本文主要是对HashMap的底层实现和扩容机制,进行深入学习;注意: 文章中我后续会使用1.7代表JDK1.7 1.8 来代表JDK1.8;0 如何正确将JDK源码导入到IDEA中很多人导入JDK源码就是创建一个java项目,让后将jdk的src.zip包解压后直接copy到src目录下,然后进行一下设置就可以了,其实这个方法不太好:1 src目录下的文件是会进行编译的,如果你的机器运行内存小,还需要设置运行内存的大小,而且每我写了注释或者修改了代码很可能你需

2021-03-14 00:44:09 171

原创 注解和反射-javacore

注解和反射摘要:注解和反射是一切框架的底层基础,这里学习一下注解和反射能更好的加深对各大框架的理解和学习程度;1 注解1.1.1 元注解元注解是JDK中的注解,很多注解都是在元注解的基础上进行创建的;以下是几个常用的元注解://用于声明注解可以使用在哪些地方:如下表示定义的注解使用在方法上@Target(value = ElementType.METHOD)//是否将我们的注解生成在JavaDoc中@Documented//表示在什么时期有效 runtime>cla

2021-02-17 19:02:54 162 1

原创 个人电脑配置记录

摘要:1> 本文主要记录个人笔记本从安装win10系统开始到满足个人开发需求所需的软件和环境都记录下来的过程,以便后期遇到更换电脑系统时更加快速的将环境搭建起来,节省时间;2> 此外本文会不断增加内容和改动内容,以便根据后期环境或者软件的变更而变更!3> 本文着重记录满足一个个人开发需要哪些环境和配置,对于简单的软件安装过程并不会进行详细记录,但会记录用途,以及获取教程的途径.1 安装win10系统win10系统就不必多介绍了,网上安装系统的教程太多了,各.

2021-02-15 01:38:03 346

原创 Servlet简记

Servlet摘要主要记录Servlet核心部分知识点: 生命周期,Requst对象和Response对象等问题列表Servlet的生命周期1 Servlet接口的实现类只能有Http服务器负责为我们创建;开发者不能自己创建Servlet接口实现类的的对象,并且Http服务器默认情况下是在 **当我们调用这个Servlet的时候才回去创建这个Servlet接口的实现类 **的;为了解决上面那种问题其实我们可以在web.xml中配置来告诉Http服务器在启动的时候就开始创建这个Serv

2021-02-14 23:34:03 113

原创 PL/SQL--存储过程和函数

摘要:之前有关Oracle的一篇文章,已经简单介绍了Oracle中的存储过程和函数的创建以及调用过程;这里主要是详细介绍Oracle的存储过程和函数的一些具体实例,以及在plsql调用自己定义的存储过程和函数;1 存储过程实例简单存储过程实例:插入一条数据使用到笛卡尔积的存储过程实例:在员工表和部门表的中间表中分配数据2 函数实例创建函数,传入员工id直接返回该员工的一整条数据 这里使用带了%rowtype数据类型...

2021-01-17 21:43:54 123

原创 PL/SQL--游标

摘要:之前写过一篇关于游标的文章,这里进行更加信息的学习;并且这次将游标的使用在实际的例子中使用方便理解;1 游标的简单介绍Oracle的游标我觉得是一个"美好"的存在,因为游标的我们简化了很多定义变量的麻烦;我们知道当我们查询数据库时,我们查询出来的数据其实是在我们服务器的内存当中暂时存放的,也就是我们说的存放在缓存区 中,我们的游标就像一个指针指向了这片数据的缓存区;当我们移动游标就可以得到我们想要的某一行数据,并可以对其进行操作;下图为具体介绍:2 游标的属性3 显示.

2021-01-17 21:26:55 85

原创 PL/SQL--数据类型

摘要:本文主要介绍Oracle的中的一些基本数据类型;此外还包括plsql的基本结构,字符集1 基本结构和字符集数据类型

2021-01-17 18:29:37 108

原创 PLSQL--控制语句

这段时间在看学习Oracle,其实SQL语言是相同的,但是Oracle为了便于更好的操作Oracle数据库在SQL语言的基础上进行优化,"发明"了专门针对Oracle数据库的SQL语言,PL/SQL本破案文章主要介绍的是PL/SQL中的控制语句注意: 这里较为简单或者见名知意的控制语句不进行例子的书写.需要有一定的SQL语言基础;1 条件控制语句如下:IF ... THEN ... END IF;示例: 略IF ... THEN ... ELSE ... END IF;示例: 略I.

2021-01-17 16:34:03 235

原创 Oracle的一些特殊SQL语句(不常用语句)

/*DDL: 数据库对象的创建删除,修改等操作;*/--创表create table study_tab(id varchar2(32) not null,password varchar2(32) not null,username varchar2(32) not null);-- 修改表alter table system.study_tab modify password varchar2(64);alter table system.study_tab add phone n

2021-01-03 20:07:14 345 2

原创 Oracle 11g的内置函数(常用)

/*************************************************************************************************内置函数***************************************************************************************************/-- 绝对值select ABS(-100) from dual;-- 取余数select mo

2021-01-03 20:03:17 255

原创 SpringBoot整合Shiro搭建登录注册认证授权权限项目模板

主要内容:1 SpringBoot整合Shiro安全框架;2 Shiro主要学习内容总结;(执行流程、主要对象接口、注意事项等)3 Redis实现对权限信息缓存;! 温馨提示: 想要快速搭Shiro整合项目,请跳至SpringBoot整合Shiro1 Shiro 介绍https://baike.baidu.com/item/shiro/177535712 主要接口和对象2.1 Subject 接口此接口为简单理解为主体,外部应用想要访问我们的服务器时,如果我们使用了Shir.

2020-12-20 22:53:15 558 2

原创 数据库关联查询的几种方式

数据库关联查询的几种方式建表语句-- MySQL dump 10.13 Distrib 5.5.40, for Win64 (x86)---- Host: 192.168.40.128 Database: study01-- -------------------------------------------------------- Server version 5.6.22/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_

2020-12-03 09:22:00 2518 1

原创 oracle的游标定义与使用

oracle的游标定义与使用/* * 游标本质上就是一个result结果集,用于临时存储从DB中提取出来的数据块; *//* *游标的分类: *//* 1 显示游标;由用户定义,需要的操作:定义游标、打开游标、提取数据、关闭游标,主要用于对查询语句的处理。属性:%FOUND %NOTFOUND %ISOPEN %ROWCOUNT*/-- 创建用户create USER study_kay identified by "lk0313";-- 创建表空间CREATE ta

2020-11-30 00:03:10 679

原创 SQL的笛卡尔积简记

SQL的笛卡尔积简记摘要:简单记录一下SQL中的笛卡尔积与简单应用;1 什么是笛卡尔积?/* * 什么是笛卡尔积? * 笛卡尔积:在SQL中的实现方式就是交叉链接(CROSS join) 所有连接方式都会 * 生成临时笛卡尔积表;笛卡尔积是关系代数里的一个概念,表示两个表中的每一行数据任意组合. * 在实际应用中,笛卡尔积本身大多没有什么实际应用,只有两张表连接查询时加上限制条件,才会有意义 */2 笛卡尔积产生的原因/* * 笛卡尔积产生的原因? * 1 表连接缺少关联

2020-11-29 23:28:58 14096

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除