- 博客(77)
- 资源 (29)
- 收藏
- 关注

原创 Mybatis-Plus模糊查询(like)特殊字符_、\、%时的处理方式
Mybatis-Plus模糊查询(like)特殊字符_、\、%时的处理方式先说最直接简单的方法(定义函数)复杂的方式(自定义拦截器)自定义拦截器将自定义拦截器配置到MybatisPlus配置类中使用Mybatis-Plus中的模糊查询(like)时,当查询关键字中包括有_、\、%时,查询关键字无效,该怎么解决,解决方式有两个,一个自定义拦截器,拦截所有模糊查询语句,并将特殊符号转义;第二中方式就是定义一个函数,每次like查询,都将有特殊字符的字符串中所有特殊字符全部转移后返回新的转义后的字符串,再进行
2021-03-03 15:14:13
15641
20

原创 SpringBoot使用@Value静态注入application.yml中变量
SpringBoot使用@Value静态注入application.yml中变量application.yml变量列表映射对象配置(核心)SpringBoot中使用@Value()只能给普通变量注入值,不能直接给静态变量赋值,但是我们经常有这样的静态变量需求,所以我们来说一说这种特殊需求应该如何处理application.yml变量列表dictionary: category: CATEGORY_CODE dataTypeList: - name: 字符串 code:
2021-02-04 16:47:59
2911
4

原创 InfluxDB的分页查询以及连续查询
InfluxDB的分页查询以及连续查询分页查询连续查询创建连续查询手动执行连续查询InfluxDB是一个时序性数据库,用来处理大量监控或统计数据。我们经常会进行分页查询数据,与其他常用数据库分页查询不同;由于数据量过大,所以我们常常会需要将数据进行归档,所以这是需要两张表,一张明细表,一张归档表,这就涉及到了连续查询;分页查询SELECT time,Field列 FROM measurement WHERE 时间范围 LIMIT rows OFFSET (page - 1)*rows连续查
2021-01-07 11:14:40
4378
2

原创 SQL将多张表的单个或多个字段进行合并查询
SQL将多张表的某字段进行统一查询需求表结构开始查询总结需求查询出所有的人的名字(包括学生和教师)表结构学生表(student),字段:年龄(stu_age)、姓名(stu_name)、性别(stu_sex) …;教师表(teacher),字段:年龄(tea_age)、姓名(tea_name)、性别(tea_sex) …;开始查询select stu_name as name from student-- where ...union allselect tea_name as
2020-12-29 18:15:44
2840
1

原创 PostgreSQL递归查询(从子到父、从父到子)
PostgreSQL递归查询所有叶子节点字典表结构(dictionary)字典表数据递归查询sql查询结果结语场景:某字典表,字典项为多层级,现在想通过SQL查询出某字典项的所有子字典字典表结构(dictionary)id,name,parent_id字典表数据[ { id: '1', name: '字典1', parent_id: null }, { serviceId: '1-1', serviceName: '字典1-1', parent_id: '1'
2020-12-10 17:21:50
10167
10

原创 防止云服务器被爆破的一些措施
防止云服务器被爆破的措施修改SSH登录端口禁用root用户友情提示结语最近频繁接收到云服务器告警信息,提示被暴力破解登录,由于本人懒惰,没有搭理,第二日IP被冻结!!!尴尬!!!为了防止再次被破解,加了一层简单的防护措施!修改SSH登录端口# 将#Port 22去掉#,修改为10000后的端口号,保存并退出vi /etc/ssh/sshd_conf:wq# 重启SSH服务systemctl restart sshd.service禁用root用户当然,修改端口有一定的作用,可以躲过
2020-12-04 10:06:22
4272
8

原创 windows安装多版本nodejs
windows安装多版本nodejs安装GNVM简介特色下载(git clone)安装验证入门指南更换更快的库 registry安装 多个 Node.js更详细的使用请参考[官方文档](http://ksria.com/gnvm/)由于不同程序对nodejs的环境要求不同,从而导致在一台电脑上开发多个nodejs应用很烦人,在应用运行时会报错,很多错误我们会认为是代码问题,其实就是nodejs版本问题。例如:gulp[19712]: c:\ws\src\node_contextify.cc:676: A
2020-12-01 11:37:28
2810
4

原创 Mybatis或Mybatis-Plus框架的xml文件中特殊符号的使用(<、<= 、>、 >=、&、‘、“ )
Mybatis或Mybatis-Plus框架的xml文件中特殊符号的使用(<、<= 、>、 >=、&、'、" )实体引用对照表解释特殊符号为什么不能在xml文件中使用关于 CDATA 部分的注释:在Mybatis的xml文件中,很多特殊符号是无法直接使用的,需要使用实体引用,假如在 XML 文档中放置了一个类似 “<” 字符,那么这个文档会产生一个错误,这是因为解析器会把它解释为新元素的开始。实体引用对照表解释特殊符号为什么不能在xml文件中使用“<”
2020-11-17 16:31:35
8638
8
原创 vue beforeRouterLeave 和 element-ui 的 $confirm组合的问题
解决 vue-router 路由守卫 beforeRouterLevel 和 element-ui 的 $confirm 组合使用时,提示框一闪而逝,出现路由地址已经跳转(拦截失败),但是页面并没有离开的问题;
2023-05-05 10:50:06
575
原创 apache poi cell.setCellType()方法过时的替代方案
poi导入excel表格数据时报 java.lang.IllegalStateException: Cannot get a STRING value from a NUMERIC cell 异常是因为在读取cell单元格字符串时,有 Number 类型的数据,因此需要把它转化为纯String类型,这样就不会报错了。
2022-09-26 09:48:00
2392
原创 SpringBoot 读取配置文件的 5 种方法
在 Spring Boot 中读取配置文件有以下 5 种方法:使用 @Value 读取配置文件。使用 @ConfigurationProperties 读取配置文件。使用 @PropertySource 读取配置文件。使用 Environment 读取配置文件。使用原生方式读取配置文件。其中最常用的是前 3 种,如果读取某一个配置项可使用 @Value,如果读取一组配置项可使用 @ConfigurationProperties,如果要指定读取某一个具体的配置文件可使用 @PropertySou
2022-08-25 15:54:25
9078
原创 Springboot + Mybatis-Plus开启二级缓存
详细说明 Mybatis 的一级缓存和二级缓存的区别,并且使用实例讲述 springboot + mybatis-plus 开启二级缓存的用法;
2022-07-26 16:53:37
1831
原创 Linux(CentOS) 安装 Nginx
本文主要阐述的是在 CentOS 操作系统下的 Nginx 安装过程,以及 Nginx 常见的命令。
2022-06-27 16:42:21
1223
原创 Flex 布局解析
Flex 布局解析1. Flex 布局是什么2. 基本概念3. Flex 容器的六大属性3.1. flex-direction3.1.1. flex-direction 的四个属性值3.2. flex-wrap3.2.1. flex-wrap 的三个属性值3.3. flex-flow3.4. justify-content3.4.1. justify-content 的六种属性值3.5. align-items3.5.1. align-items 的五种属性值3.6. align-content3.6.1.
2022-03-16 10:19:45
260
原创 Mac NodeJS 版本管理
使用 nodejs 版本管理工具“n”,快速切换 nodejs 版本。相比于 nvm 工具,轻量很多,而且安装和操作相对简单很多。
2022-03-09 16:22:42
1217
原创 6. Docker学习之路 —— Dockerfile
Docker学习之路 —— Dockerfile1. 什么是 Dockerfile?2. Dockerfile的基本结构3. Dockerfile文件说明4. Dockerfile常用指令FROM(指定基础镜像,必须为第一个指令)MAINTAINER(维护者信息)RUN(构建镜像时执行的命令)ADD(将本地文件添加到容器中,tar类型文件会自动解压(网络压缩资源不会被解压),可以访问网络资源,类似wget)COPY(功能类似ADD,但是不会自动解压文件,也不能访问网络资源)CMD(构建容器后调用,也就是在容
2021-10-15 15:02:31
743
1
原创 5. Docker学习之路 —— Docker容器数据卷
Docker学习之路 —— Docker容器1. 容器数据卷概念2. 容器数据卷特点① 数据卷可在容器之间共享或重用数据。② 数据卷中的更改可以直接生效。③ 数据卷中的更改,不会包含在镜像中的更新。④ 数据卷的生命周期一直持续到没有容器使用它为止。3. 开始使用数据卷(以tomcat的webapps目录为例)4. 容器数据卷三种挂载方式① 具名挂载(docker run -v 挂载名称:容器内绝对路径)② 匿名挂载(docker run -v 容器内绝对路径)③ 指定宿主机路径挂载(docker run -
2021-10-15 14:27:41
531
原创 4. Docker学习之路 —— Docker镜像
Docker学习之路 —— Docker镜像1. Docker镜像是什么?2. UnionFS(联合文件系统:pull镜像时,一层一层下载的就是UFS)3. 镜像加载原理4. 镜像的分层5. 镜像的特点6. 如何使用容器创建一个镜像(以tomcat为例)① 下载并启动一个tomcat容器,同时进入容器② 将tomcat容器内webapps.dist内容复制到webapps目录下③ 退出tomcat容器③ 使用tomcat01容器创建tomcat02:2.0镜像1. Docker镜像是什么?镜像是一种轻
2021-10-15 11:24:45
634
原创 3. Docker学习之路 —— Docker常用命令
Docker学习之路 —— Docker常用命令1. Docker系统级命令2. Docker镜像命令3. Docker容器命令4. Docker网络5. Docker其它常用命令6. 命令练习一(Nginx)① 搜索nginx(为了确认nginx在docker仓库中是否存在)② 安装nginx镜像③ 后台运行nginx镜像生成容器,容器命名为nginx01,④ 进入nginx容器⑤ 退出容器⑥ 关闭nginx容器⑦ 删除容器⑧ 删除nginx镜像7. 命令练习二(Tomcat9.0,测试,容器退出即删)①
2021-10-15 11:18:40
1514
原创 2. Docker学习之路 —— Docker安装
Docker学习之路 —— Docker安装1. Docker的基本组成Docker架构图① 镜像(image)② 容器(container)③ 仓库(repository)2. Docker安装① 环境准备② 卸载旧版本Docker③ 安装管理repository及扩展包的工具④ 配置Docker的安装镜像为国内阿里云镜像(默认国外镜像: https://download.docker.com/linux/centos/docker-ce.repo)⑤ 更新yum索引缓存⑥ 安装Docker的社区版(ce
2021-10-09 17:39:37
515
原创 1. Docker学习之路 —— Docker概述
1. Docker学习之路 —— Docker概述1. Dcoker为什么出现?① 运维困难② 环境问题③ 跨平台问题2. Docker的思想① Docker的思想来源于集装箱(由第一张图可见)② 各个集装箱都是相互隔离的。3. Docker能干什么?① Docker是一种容器技术,模拟的不是一个完整的操作系统!② DevOps(开发、运维):更快速的交付和部署。③ 更快捷的升级和扩容④ 更简单的系统运维⑤ 更高效的资源利用1. Dcoker为什么出现?① 运维困难一款产品从开发到上线,需要环境配
2021-10-09 15:55:49
552
原创 js判断当前页面是否被嵌入到Iframe内?
js判断当前页面是否被嵌入到Iframe内?使用场景判断方法使用场景最近在做将公司所有项目的监控系统,为了重复的写代码,建页面,就将所有项目自身的监控页面通过iframe嵌入到监控系统里,但是这些项目自身就存在菜单、头部、面包屑、footer等,这样引入到iframe内的页面就需要复杂的样式处理,而且很多弹框页面打开后,因居中问题,导致被监控系统覆盖(嵌入页面的z-index无效)等等很多问题,所以就想到,如果能够判断页面是否被iframe嵌入,这样就可以在这些被嵌入的项目中动态显示或隐藏了。判断
2021-09-27 16:37:07
2140
原创 Springboot Vue WebSocket实现后端服务推送通知功能
Springboot Vue WebSocket实现后端服务推送通知功能一、业务场景二、实现过程1. Springboot pom.xml引入WebSocket依赖jar包2. 编写WebSocketConfig配置类3. 编写WebSocketServer服务实现类一、业务场景最近在做一个功能,业务待办事件数量实时推送给前端页面,最初的设想是在前端定时调用后端接口获取,但是这样就无法实现实时信息,所以,就想到了WebSocket。废话不多说,上菜。。。二、实现过程Springboot 和 V
2021-07-19 18:44:45
1985
1
原创 APKTool-apk反编译工具(绿色版)下载及使用说明
APKTool-apk反编译工具(绿色版)下载及使用说明软件功能1. 下载APITool2. 配置好JAVA环境3. 解压文件,将两个文件复制到C:\Windows目录下4. 打开APK文件所在目录,并在地址栏输入cmd进入命令行模式5. 输入apktool d xxx.apk(这是反编译命令。qq-browser.apk就是需反编译的apk文件)6. 输入apktool b qq-browser(这是回编译命令。qq-browser就是反编译后的文件所在文件夹,这个文件夹一般是以之前反编译的文件名为名称)
2021-06-28 14:57:04
1475
1
原创 count(1)、count(*) 、 count(列名)的区别
@[TOC](count(1)、count(*) 、 count(列名)的区别)我们在写统计数据的sql时,经常会用到count(1)、count(*) 、 count(列名),但是它们之间到底有什么区别,哪个更优呢?1. count(1) and count(*)从执行计划来看,count(1)和count(*)的效果是一样的。当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count(*)用时多!当数据量在1W以内时,count(1)会比count(*)的用时少些,不过也
2021-06-25 10:56:20
1742
2
原创 MySQL 的自增ID用完了,怎么办?
MySQL 的自增ID用完了,怎么办?为何有此一问?回家后潜心钻研,拿捏。实践出真知1. 首先,创建一个最简单的表,只包含一个自增id,并插入一条数据。2. 查看table1表情况3. 4294967295,如此大的数字,啥时候能用完,嘿嘿,这难不倒我,小技巧:可以在创建表的时候,直接声明AUTO_INCREMENT的初始值。4. 同样查看table2表情况5. 我们来再插入一条数据看看,到底会出现什么问题?6. 那如何解决这种问题呢?注意: 还有一种情况同样会出现主键用尽的问题(创建表没有显示申明主键)
2021-06-18 15:11:25
1029
2
原创 Spring Boot 最最常用的注解梳理
Spring Boot 最最常用的注解梳理1. @SpringBootApplication2. @Configuration3. @EnableAutoConfiguration4. @ComponentScan5. @Component6. @Controller7. @RestController8. @RequestMapping9. @Autowired10. @PathVariable11. @JsonBackReference12. @RepositoryRestResourcepublic1
2021-06-18 10:42:00
862
1
原创 运维人员必备的Linux系统命令汇总
运维人员必备的Linux系统命令汇总线上查询及帮助命令文件和目录操作查看文件及内容处理文件压缩及解压缩信息显示搜索文件用户管理基础网络操作深入网络操作有关磁盘与文件系统系统权限及用户授权相关查看系统用户登陆信息内置命令及其它系统管理与性能监视关机/重启/注销和查看系统信息进程管理相关线上查询及帮助命令man:全拼manual,用来查看系统中自带的各种参考手册。help:用于显示shell内部命令的帮助信息。文件和目录操作ls:全拼list,列出目录的内容及其内容属性信息。cd:全拼c
2021-06-02 15:13:59
1251
1
原创 Springboot+Vue+Axios实现文件上传和下载
Springboot+Vue+Axios实现文件上传和下载文件上传后端代码前端代码文件下载后端代码前端代码文件上传后端代码@ApiOperation("上传文文件")@PostMapping("uploadFile")public Object saveFileDownload(@RequestParam("fileList") MultipartFile[] fileList) { if (fileList != null && fileList.length >
2021-06-02 11:05:00
1063
1
原创 Windows查看进程占用并关闭进程
Windows查看进程占用并关闭进程打开cmd查看所有端口占用查看指定端口占用结束进程方式一方式二打开cmdwin + R并输入cmd,回车进入查看所有端口占用netstat -ano查看指定端口占用netstat -aon|findstr "8081"结束进程方式一taskkill /f /t /im "9912"方式二打开资源管理器,找到PID是21548的进程并结束任务(没有PID这一列的话可以右击列添加PID列)...
2021-04-25 09:27:49
2657
1
原创 Mysql将查询结果集转换为JSON数据
Mysql将查询结果集转换为JSON数据前言学生表学生成绩表查询单个学生各科成绩(转换为对象JSON串并用逗号拼接)将单个学生各科成绩转换为数组JSON串将数组串作为value并设置key两张表联合查询(最终SQL,每个学生各科成绩)最终结果前言我们经常会有这样一种需求,一对关联关系表,一对多的关系,使用一条sql语句查询两张表的所有记录,例:一张学生表,一张学生各科成绩表,我们想要用一条SQL查询出每个学生各科成绩;学生表CREATE TABLE IF NOT EXISTS `student`
2021-02-23 15:28:32
18504
9
原创 html的ul和li类型列表及配置方法
html的ul样式类型及配置方法配置ul类型方法配置liul类型列表配置ul类型方法ul{ list-style: 样式;}li { // 默认竖向排列,该配置改为横向排列 float: left; list-style-type: 样式; // 可配置为图片 // list-style-image: url(url);}配置liul类型列表类型说明none无样式circle空心圆disc实心圆(默认)square实心方块de
2021-02-22 18:04:23
1585
1
原创 String、StringBuilder、StringBuffer到底该使用谁?
String、StringBuilder、StringBuffer到底该使用谁?StringStringBuilderStringBufferString,StringBuilder和StringBuffer的比较各种字符串操作的效率测试测试代码测试结果总结StringJava提供了String类来创建和操作字符串。在二进制中可以看到,String类内部的实现也是一个字节数组,这个数组是final类型的,因此String是不可变的对象,每次在对字符串类进行改变的时候都会生成一个新的字符串对象,然后将指
2021-02-07 16:45:31
2131
6
原创 JS开发过程中常用工具函数(持续更新。。。)
JS开发过程中常用工具函数(持续更新。。。)获取数据类型二级目录三级目录获取数据类型function getDataType(value) { return Object.prototype.toString.call(value).slice(8, -1)}// return Function、Number、String、Object、Array等getDataType([1, 2]) // ArraygetDataType({id: 1, name: '1'}) // Object
2021-02-07 12:12:36
1120
2
原创 Java代码优化(实践出真知)持续更新中。。。
Java代码优化(实践出真知)前言代码优化的目标:代码优化开始前言一间装满垃圾的房间,扔掉一个两个垃圾可能看不出什么效果,但是垃圾扔掉的越多,房屋就会越干净,看着越来越干净的房间,心情也会越来越好,虽然避免不了会留下些许灰尘,但是无伤大雅(天下没有不存在BUG的代码一个道理)代码优化的目标:尽量减小代码体积提高代码运行效率代码优化开始类、方法尽量添加final修饰符带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang
2021-02-05 14:34:48
1228
Simple Allow Copy
2022-07-01
DirectX修复工具V4.0增强版
2021-06-25
SSH工具集(Xshell,PuTTY,MobaXterm,FinalShell)
2021-06-18
chrome手势插件-crxMouse-4.4.4_0
2021-05-07
Tampermonkey4.12_0(油猴)
2021-05-07
geek1.4.7_2-Windows电脑软件卸载神器
2021-03-18
mybatis_log_plugin_2020.3.zip
2020-12-11
个人比较中意的几款Idea主题皮肤
2020-11-23
Java滑块认证(Springboot)
2020-09-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人