- 博客(88)
- 收藏
- 关注
原创 jsch sftp如何删除包含文件的文件夹
sftp递归删除文件夹背景:项目在做审计时,需要将任务运维过程中产生的审计信息上传到第三方平台,使用的工具是第三方库jsch,使用其中的ChannelSftp进行文件上传。 <dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <version>0.1.55</v
2022-05-02 01:45:40 3321 1
原创 java.io.UTFDataFormatException: encoded string too long: 270976 bytes
DataOutputStream extend FilterOutputStream implements DataOutputfunction: 数据输出流是应用程序以便携式方式将java基本数据类型(包含String类型)写入到输出流,然后应用程序使用数据输入流来读取数据。需求: 上传日志报文日志报文格式(字节):日志标识[1]保留字段[1]日志类型编码[1]日志子类型编码[1]数据包长度[4]日志内容[n]根据需求使用输出流的包装类DataOutputStream来进行
2022-04-22 18:08:58 2626
原创 Java POI实现Excel导入导出
Java文件导出POI简介版本依赖excel常用类easyExcelPOI简介Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。POI为“Poor Obfuscation Implementation”的首字母缩写,意为“简洁版的模糊实现”。版本依赖当前使用的poi版本为 4.1.2,使用新版本后基础操作没啥改变,但是样式设置和之前有一些变化。引入了两个jar,其中poi是操作03版及之前excel的
2021-03-22 13:50:54 3249 2
原创 多个一维数组拆分合并为二维数组
记录一下工作中遇到的数据拆分问题。场景一:一维数组的结构为[value,value … ,value];$arr1 = array('张三','李四','王五');$arr2 = array(18,19,20);$arr3 = array('man','man','women');<?php $arr1 = array('张三','李四','王五'); $arr2 = array(18,19,20); $arr3 = array('man','man','women'); $ar
2021-03-14 23:53:35 1027
原创 excel获取两列数据的差异数据
背景 在日常工作中难免会遇到要处理excel数据的问题,比如 找出excel两列数据中 A列中存在B列中不存在的数据,B列中存在A列中不存在的数据。当数据量比较小的时候使用excel自带工具还比较方便,但是当数据量比较大时,处理就没有那么简单了,这时可以使用python操作,不需要搭建多复杂的环境,只需要引入python操作excel的两个库就行了。pip install xlrd --userpip install xlwt --
2021-01-10 17:06:28 612
原创 easyExcel+mybatis批量插入时Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax;
error:Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1### Error updating database. Cause: java.sql.SQLSyntaxErrorE
2021-01-05 13:52:55 1175
原创 SpringBoot整合Redis,使用RedisTemplate存取List集合
前言本文仅对使用RedisTemplate操作list(对象)集合过程中遇到的一些问题,进行记录。SpringBoot版本:2.2.2.RELEASERedis版本:3.2.1.0.0导入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId.
2020-12-15 15:06:40 45555 5
原创 io.lettuce.core.RedisCommandExecutionException: ERR wrong number of arguments for ‘auth‘ command
使用springboot整合redis时遇到的错误redis版本:3.2.1.00springboot版本:2.4.1org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to localhost:6379
2020-12-11 16:48:09 5260 1
原创 Navicate连接oracle(11g)时ORA:28547 Connection to server failed probable Oeacle Net admin error
问题背景: 使用navicate 12 连接 oracle 11.2.0.3.0版本时出现这个问题,之前一直用的mysql,没用过oracle。我一开始连接的正式环境的库,当时是正常的,等我连接测试环境的时候就出现了这个错误,然后查看了正式库和测试库的版本,发现是一样的。这时想到可能是没有访问测试库地址的权限,然后ping了一下发现ping通了(排除了网络访问权限的问题)。然后网上搜了一下,发现有人遇见过这个错误,说是navicate里
2020-11-26 18:02:35 282
原创 Jquery select模糊查询
模糊搜索 下拉列表(单选)带搜索功能的下拉列表,优雅、简单,保存记录一下。引入jquery包<script src="../js/jquery-3.3.1.min.js"></script>引入js文件、css样式文件<script src="../js/jquery.searchableSelect.js"></script><link rel="stylesheet" href="../css/jquery.searchab
2020-11-22 15:22:58 2075 2
原创 ElasticSearch(ES) 7.x基础学习总结
Elasticsearch了解ElasticsearchElasticsearch 介绍Elasticsearch 倒排索引结构Elasticsearch 安装Elasticsearch-head安装安装node安装grunt安装es-head(7.6.1)IK分词器安装Kibana安装Elasticsearch DSLES基本数据类型索引操作文档操作Elasticsearch Java API了解ElasticsearchElasticsearch 介绍Elasticsearch 是一个开源的搜索
2020-11-10 08:02:19 2135
原创 SpringBoot配置多数据源
SpringBoot配置多数据源目的需求背景SpringBoot配置多数据源创建SpringBoot项目配置数据源1配置数据源2application.yml配置项目结构目录整合数据逻辑目的需求背景 需统计区域拉新人员的业绩,即统计通过该途径注册的会员的消费情况。需获取 两个数据库实例下数据库表数据,然后通过关联字段将两张表的数据整合一起。a表的数据 会员id 区域 活动名称 1 华南
2020-11-06 17:15:38 287
原创 Spring AOP与事务
Spring AOP与事务Spring AOPAOP概念AOP常用术语Spring 事务事务概念事务隔离级别事务传播行为DemoSpring AOPAOP概念Aop概念:面向切面编程,可以将业务逻辑进行隔离开。基于动态代理对原有的方法进行增强。(1)有接口 使用jdk的动态代理 创建接口实现类的代理对象。使用Proxy类的newProxyInstance()方法创建代理对象。方法参数:(1)类加载器(2)增强方法所在实现类的接口,可以是多个(3)实现接口InvocationHandler
2020-11-06 17:13:25 309
原创 git 开发中常见问题总结
git忽略文件场景一:本地项目部署到远程仓git 忽略规则匹配语法:常用忽略规则示例:场景二:忽略掉配置文件场景三:删除远程库文件场景一:本地项目部署到远程仓在实际项目开发时,首先会将本地一份初始化的项目部署到远程仓库,但是本地的一些不必要的文件不需要在远程仓显示。想忽略掉这些文件只需要在 .gitignore文件配置即可。注意:该条件的前提是要忽略的文件本地仓库有,远程仓库没有。git 忽略规则匹配语法:空格不匹配任意文件,可作为分隔符,可用反斜杠转义开头的文件标识注释,可以使用反斜杠
2020-10-21 13:58:19 269
原创 设计模式----代理模式
代理模式代理模式定义静态代理基于接口的静态代理基于继承的静态代理动态代理基于JDK的动态代理基于cglib的动态代理代理模式定义引用百度百科:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。静态代理基于接口的静态代理定义接口package a;public interface BookService { void add(); void test(int a,int b);}
2020-10-14 18:08:29 147
转载 mysql sql优化之Explain
在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以我们深入了解MySQL的基于开销的优化器,还可以获得很多可能被优化器考虑到的访问策略的细节,以及当运行SQL语句时...
2020-09-29 17:22:01 114
转载 PHP处理json_decode()解析JSON.stringify
经常我们会使用 JSON.stringify() 保存某些数据,然后需要在php中读取,但在PHP接到这个参数的数据时,使用json_decode()却无法解析。所以问题就是,为什么json_decode()解析JSON.stringify为什么为NULL。解决方法:当你使用 JSON stringify时,先在json_decode前使用 html_entity_decode。代码示例:$tempData = h...
2020-09-09 15:06:58 1425
原创 Java 文件下载
文件下载目的:将文件通过浏览器保存到本地,并且保证文件名不会中文乱码。首先需要了解几个小知识。Content-Disposition在常规的HTTP应答中,Content-Disposition响应头指示响应的内容以何种方式展示,有两种方式,一种是内联的方式(inline),就是指响应的内容将会在 页面的一部分或整个页面中显示出来。另外一种(attachment)是通过浏览器以附件的形式下载保存到本地。Content-Disposition: inlineContent-Disposition:
2020-08-20 17:11:36 1651
转载 HTTP协议中的1xx,2xx,3xx,4xx,5xx状态码分别表示什么,列举常见错误码及含义
转载:https://www.cnblogs.com/zouer/p/4991948.html HTTP协议状态码,是指在HTTP协议运作中由客户端发出请求连接,服务端建立连接,客户端发出HTTP请求,服务端返回响应信息,而在这个过程张由于客户端或服务端的问题会返回相应的错误代码并显示给用户,对应的错误代码表示不同的错误信息,根据这个信息用户可以调整相应的操作来修改出现的错误,最终避免错误的再现。 &
2020-06-12 09:58:24 16982
原创 mysql如何将存储的秒转换为日期
数据库存储日期的类型 数据库中存储时间有很多种方式,出于不同的考量存储的方式也不同,常见的几种类型有:timestamp,int(秒数),bigint(毫秒数),date(年月日),time(时、分、秒)。当在数据库中存储的时间为秒数或者毫秒数的时候,如何转换为具体的日期呢,可以通过FROM_UNIXTIME(sec,format)函数和UNIX_TIMESTAMP(date)函数实现秒/毫秒数和日期的转换。FROM_UNIXTIME(sec,
2020-06-07 19:20:07 4051
原创 数据结构---栈的应用
栈栈是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,也叫做栈顶。对栈的操作有进栈和出栈,进栈也叫做插入,出栈也就是删除最后插入的元素。因此栈也被称作LIFO(后进先出)表。栈通常有两种实现方式,数组实现和链表实现。下面是栈的两个小应用demo字符串逆序由于栈后进先出的特性,所以栈可以用于字符串的逆序。public void reverseStr(String str){ Stack<Character> stack=new Stack<>();
2020-06-05 00:18:17 153
原创 数据结构----顺序表Java实现
顺序表定义:顺序表是一种顺序存储的线性结构。比如A0 … Ai … An-1这样的表,表中的第一个元素是A0,表的最后一个元素是An-1,A0没有前驱元,An-1没有后继元,元素Ai在表中的位置是i+1,表中逻辑上相邻的两个元素在物理位置上也相邻。下面是我写的一个小demo定义接口public interface IList { public int length();//获取顺序表的size public boolean isEmpty();//判断顺序表是否为空 publ
2020-06-03 21:30:09 455
原创 Java 8,Stream流的常用操作
前言:创建流的常用方式1.Stream的of 方法Stream stream = Stream.of(“a”, “b”, “c”);2. ArraysString [] strArray = new String[] {“a”, “b”, “c”};stream = Stream.of(strArray);stream = Arrays.stream(strArray);3. CollectionList list = Arrays.asList(strArray);stream = l.
2020-05-13 21:48:39 331
原创 使用springboot内置tomcat部署项目到服务器,一段时间后文件上传不了
SpringBoot项目使用内嵌tomcat jar包方式部署,一段时间后上传文件出现问题,上传不了,查看服务器日志发现是tomcat生成的临时目录tmp不存在,被linux系统机制自动清除了。最简单的临时解决方案:重新启动项目,如果想要一劳永逸可以采用下面的方案。方案1> 修改springboot的配置文件配置参...
2020-04-09 17:34:12 1048
原创 mysql中exists和in关键字的使用
一直以为exists的查询效率比in快这种想法是错误的,在查询中用了IN关键字,查了之后发现需要6秒多,想着能不能优化一下,就使用了Exists关键字替换了原有的IN关键字,但是发现使用Exists之后查询时间反而变长了,变成8秒多。总结如下:当外表的数据比内表的数据多时,使用IN比Exists要快。当外表的数据比内表...
2020-03-31 18:50:10 233
原创 RabbitMQ(二)安装
RabbitMQ安装过程RabbitMQ是基于erlang语言开发的,所以在安装之前需要先安装erlang的环境。并且RabbitMQ和Erlang有对应的版本关系,所以在安装时要确定安装的版本。RabbitMQ与Erlang版本对应关系地址: https://www.rabbitmq.com/which-erlang.html官网推荐使用的是通用UNIX二进制软件包(tar.xz):...
2020-03-13 18:21:27 149
原创 RabbitMQ(一)基础概念
RabbitMQ简介 RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用,在易用性、扩展性、高可用性等方面表现不俗。 AMQP协议(Advanced Messa...
2020-03-12 23:25:47 152
原创 项目部署到云服务器上时 “ignoring input and redirecting stderr to stdout”
项目部署到云服务器时出现错误修改一下命令即可解决将上面的命令修改为:nohup java -jar dwz-0.0.1-SNAPSHOT.jar >log/lts.txt 2>&1 &总结:nohup (no hang up)当账户退出或终端关闭时,程序仍然运行。&:指如果客户端关闭,程序就会停止运行。>log/lts.txt:指程序...
2020-03-09 20:50:04 16495 1
原创 SpringBoot 1.5.10 与SpringBoot 2.2.4设置文件上传大小区别
使用SpringBoot 1.5.10文件上传设置上传文件大小(默认是1MB):这里配置时使用的spring.http下的。使用SpringBoot 2.2.4时设置文件上传大小(默认是1MB)时配置使用的是 spring.servlet下的...
2020-03-09 20:22:54 510
原创 Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.1.0:resources on project...
Maven package 打包时出现错误,记录一下。错误信息:[ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.1.0:resources (default-resources) on project longtoshort: Cannot create resource outp...
2020-02-26 13:21:56 8689 10
转载 Updates were rejected because the tip of your current branch is behind
有如下几种解决方法:1.使用强制push的方法:$ git push -u origin master -f这样会使远程修改丢失,一般是不可取的,尤其是多人协作开发的时候。2.push前先将远程repository修改...
2020-02-16 21:10:18 167
原创 解决spring-data-jpa 级联添加时,主表放弃对外键维护时外键字段为null
问题:在spring-data-jpa中使用级联添加,一次添加多条数据时,在主表上放弃对外键维护时,添加数据到数据库,从表的外键字段为null值,当不放弃主表对外键的维护时,又正常添加。主表对应实体类(Team,一的一方)@Entity@Table(name = "team")public class Team implements Serializable { @Id ...
2020-01-30 13:57:21 3010 1
原创 Jpa学习(一)
JPA学习总结JPA简介JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。JPA包含的技术ORM映射元数据JPA支持XML和JDK5.0注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中;API用来操作实体对象,执行...
2020-01-22 17:53:10 273
原创 mysql8.0服务突然启动不了,已排错解决
背景:使用mysql连接可视化工具的时候一直报连接不上localhost在终端控制台黑窗口进行连接,发现依然连接不上。然后win+r 输入services.msc,打开windows中的服务,发现mysql服务是没有启动的,然后手动启动服务,没想到依然启动不起来。瞬间懵逼了,之前也没碰到这个问题,而且前几天还用的好好的,怎么突然就启动不起来了呢?查看mysql启动的日志去找一下问题错...
2020-01-22 09:12:14 5960 1
原创 windows下安装redis并设置开机自启动
window下安装redis我下载的3.2.100版本(zip)链接:https://pan.baidu.com/s/1HtfI5ieF0oTLR8AmbuPqgw提取码:24vagithub下载地址:https://github.com/microsoftarchive/redis/releases/tag/win-3.2.100如果选择以微软的方式安装,可以下载msi结尾的文件...
2020-01-21 13:36:59 1831
原创 markdown格式的文件如何转成word文档
问题背景:使用Typora工具进行编写.md后缀文件时,写好之后发现不能转成word(docx)格式,经过一番查找发现需要下载Pandoc。TyporaWindows(64位)下载链接:https://pan.baidu.com/s/1PmapinGvo260aotqq_1J0Q提取码:dwe8Pandocgithub下载地址:https://github.com/jgm/p...
2020-01-19 18:29:26 2350 2
原创 mysql中静态行转列和动态行转列
需求:报表展示,统计邀请人每天的邀请人数。SELECT cii.inviter_area, cii.inviter_marketing_department, cii.inviter_organization_three, cii.inviter_organization_four, DATE_FORMAT(ir.create_time, '%Y-%m-%d') AS create_t...
2020-01-16 18:04:11 523
原创 windows如何解压tar.gz文件
在linux以tar.gz后缀结尾的文件直接解压就行了,但是在windows上使用windows自带的压缩工具发现不能解压tar.gz后缀的文件,所以我们可以采用一些压缩解压工具来实现,这里推荐的工具就是7-zip,非常轻便简单的工具。下面附上下载的地址:7-zip https://www.7-zip.org/下载安装之后找到一个tar.gz文件进行解压,选中文件右键----7-Zip提...
2020-01-16 12:09:40 44821 3
原创 mysql如何在建表时设置id默认值为uuid
需求:在插入一条数据后默认id(主键)生成一个uuid,在客户端界面同样可以生成。想要达到的效果就是像主键自增一样每插入一条数据就会自动生成一个uuid。mysql的默认值不支持函数形式,所以给id设置值有两种方式:(1)通过程序在后台生成,在后台通过UUID的方法直接生成一个uuid,然后进行插入。(2)创建一个触发器,在插入的时候触发创建uuid的函数,然后每次在插入时都会自动创建uu...
2020-01-07 13:06:39 11361
空空如也
Aspose word java 饼状图标签重叠问题以及对应百分比精度丢失问题
2023-05-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人