- 博客(40)
- 资源 (3)
- 收藏
- 关注
原创 Convert excel format exception.You can try specifying the ‘excelType‘
是通过文件流的前8个字节来判断文件的类型,实际上这种判断规则是无法保证准确的。然后自然的想到是不是引入的jar包版本太旧了,所以有这个bug。在使用easyexcel读取文件流获取集合的时候报了这个错。在点进代码抛出异常的地方,发现这么一段逻辑。
2024-09-24 14:42:40 223
原创 MultipartFile上传文件报文件不存在的几种情况
对象的操作放在多线程里,那就可能出现这个异常,当然也又可能会正常执行,看线程的执行情况。A:这种情况可以把其他操作往前移,如果想多次操作,那可以直接操作保存后的那个文件。首先先了解一下从上传到保存整个流程是怎样的,然后在举几个文件不存在的例子。这种情况是.tmp文件不存在,那就说明在删除临时文件后你又操作了。Q: 使用了多线程。文件的处理经常会用多线程去处理,如果把。A: 这种情况可以先进行。,然后在多线程处理。后又调用了其他方法。......
2022-08-29 17:00:54 2761 3
原创 seata 1.5.2 保姆级教程
Aseata.enable-auto-data-source-proxy配置没有开启。然后nacos增加配置文件DataIdseataServer.propertiesGroupSEATA_GROUP。A如果是使用feign调用的情况下,需要引入seata-spring-boot-starter。A没启动起来肯定是配置文件有问题,没配好,仔细检查一下和上面的配置有什么不同。Q打断点调试的时候发现undo_log表一直没记录。Qseata启动不起来,直接闪退。...
2022-07-28 15:41:08 8473 18
原创 mysql 8.0分组查询 sql实现
总所周知,mysql8.0的时候运行 select * from table group by name会报错,这让之前在mysql5.7写sql的同学就很苦恼,要怎么实现原本的这条sql呢?方案一:改数据库配置,让它支持这种写法。(不推荐)相信大家看到这个就骂娘了,怎么又是改数据库。别急,下面是sql方案。方案二:`select * from table group by name`等于select a.* from table a inner join (select name,min(
2022-04-28 11:19:39 1052
原创 .DS_Stroe文件造成git合并失败
.DS_Stroe文件是什么:这是一个隐藏的文件是怎么产生的:在你用访达去打开了一个目录,就会在这个目录下生成这个文件。造成的影响:git的合并操作检测到你本地有没有提交的文件,会发出警告,强行合并也会失败。解决方案:删掉就好了,使用终端cd到对应目录,用ll -a命令就能看到这个文件 ,然后rm -f 删掉。ps:操作的时候请关闭访达,删掉文件后重启idea,以避免其他奇奇怪怪的问题。在使用ll -a看不到文件的情况下,idea还是报这个文件冲突,请尝试重启解决...
2022-04-26 11:21:42 1180
原创 mysql中utf8和utf8mb4详解
utf8和utf8mb4字节和字符存储上限表情☺️字节和字符varchar(255)所表示的单位是字符,而一个汉字一个字母都是一字符。所以这里可以存储255个汉字或者255个字母。utf-8下,1字符=3字节。(uft-8也称之为utf-8mb3)utf-8mb4下,1字符=4字节。存储上限varchar的存储上限是65535字节utf-8格式: varchar(21845)是上限(65535/3)。utf-8mb4: varchar(16383)是上限(65535/4)表情☺️一个
2022-03-03 12:51:12 8365 2
原创 升级jdk版本后,出现SecurityException: JCE cannot authenticate the provider BC
先分析异常的描述:JCE cannot authenticate the provider BC:在使用第三方的jar包时,java会对jar包的签名进行验证,以确认jar包是不是合法的。SecurityException:加密异常。总结:在使用加密的第三方类时,验证签名不过关。然后分析异常的具体位置:找到具体抛异常的位置然后往上翻可以看到这个类具体是什么作用BouncyCastle类是一个加密的第三方类,jdk本身是有一些加密的方法的,如果需要额外的一些加密方法的话需要用到Boun
2022-01-06 11:32:28 16060 4
原创 macbook配置maven
配置maven前要先安装jdk下载链接下载完安装好后配置环境变量打开mac自带的终端,修改.bash_profile 文件export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_281.jdk/Contents/Homeexport PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar然后配置mave
2021-05-26 11:33:08 1033
原创 前端后台之间时间的传输,前端传时间戳后台如何接收,,时间戳转换成LocalDateTime
前端与后端之间时间的传输大概有以下几种实现方式@DateTimeFormat和@JsonFormat注解配置文件中统一设置converter手动转换大概有以下几种实现方式前端传的参大概有这么几种格式:时间戳、yyyy-MM-dd、yyyy-MM-dd HH:mm:ss。下面介绍几种常见的处理方式,时间戳直接跳到Converter。@DateTimeFormat和@JsonFormat注解@DateTimeFormat是前端往后段传的时候使用,加在实体类中,然后controller中直接使用这个实
2021-05-20 18:23:31 26583
原创 基于jdk1.6的调用接口工具类,传递json格式的参数
一直在维护的老项目今天有个需求:调用一个新项目的接口完成数据的交互。出现的问题:1.项目的jdk是1.6的,一些api不能用。 2.项目的编码是GBK的,参数传输过程中会出现乱码。话不多说,直接上代码package com.zl.util;import com.alibaba.fastjson.JSONObject;import java.io.*;import java.net.URL;import java.net.URLCo...
2020-12-07 17:37:02 1286 1
原创 配置多数据源出现dynamic-datasource Please check the setting of primary
通过错误信息我们可以定位到是这个类报的异常找到这个类发现异常位置通过断点发现这个map里没有值通过当前页面搜索发现在这里添加的根据此处逻辑发现,判断数据库的名字里是否有下划线,有的话把下滑线前面的一部分当成组名,然后进行校验和添加操作。所以将数据源的名字添加了个master前缀ok,项目可以正常启动。这里我记得之前配置好像不是这样也行的,可能是jar包版本不同,所以这里的配置有一点点差异吧。...
2020-08-05 10:46:45 42728 5
原创 控制台输出中文变成???,eclispe没问题,idea乱码
这几天idea跑web项目时突然出现乱码,找了好几天问题,网上各种方法都试了,不管用,今天解决,现在记录一下,如果你按其他的方法没用,可以看看是不是和我一样的情况。工具idea,项目整体编码GBK。乱码产生原因:一个同事上传了一个UTF-8格式的文件上去。首先由于项目代码是gbk格式的,而有一个utf-8格式的文件,所以在编译期间就会报错这时可以单独为此文件设置编码格式就能正常运行。但这就埋下了祸根,由于这里的utf-8,导致了控制台输出的编码格式变成了utf-8,而其他文件是g
2020-07-30 09:38:23 350
原创 idea部署web项目
第一步直接把下好的项目打开。第二步点击图上的按钮进行项目的配置。这样项目就配好了,然后配置tomcat大功告成,直接启动项目
2020-07-01 08:38:56 162
原创 幂等问题常用的解决方案
在项目中经常出现的幂等问题是如何产生,如何解决的呢。最常见的情况是连点,比如下单操作,如果前端疯狂的点击确定按钮,就会生成很多条记录。解决方法:最常见的就是交给前端处理,前端控制不让连点,当然这里不细讲,只是提一下。很显然,我们要控制幂等,就是要让他的有效操作具有唯一性(等同于消息队列中的消息重复消费问题),那么我们可以让前端生成一个唯一标识,在下单的时候传进来,注意,唯一表示的生成不要在请求下单的js里,要在比如进入页面这种情况下。生成了唯一标识就好办了,我们可以下数据库设置唯一索引,幂等问题
2020-06-17 11:23:06 1208
原创 读取xlsx,xls文件的数据存入数据库
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.17</version> </dependency>package com.example.poi.util;import jav.
2020-06-17 10:00:05 824
原创 如何禁用session
事情的起因是从群友的一个问题开始的:如何禁用session?为什么要禁用session的?他的理由是现在的项目身份校验是基于缓存实现的,没有用到session,而session是要占内存的,却没有用到,这里白白浪费了内存。一开始还觉的挺有道理,后来去实验加阅读源码发现不是这么回事。 首先,session是什么时候生成?一直以来都以为在浏览器访问后台就会有session,其实并不然,session是在后台第一次调用request.getSession()方法后生成的。首先进行测试:@Req..
2020-06-04 21:00:40 1754
原创 springboot + mybatis-plus搭建项目详解
首先用idea快速创建一个springboot项目然后配置pom依赖 // 数据库驱动 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId>...
2020-04-08 18:14:26 1646 1
原创 elasticsearch踩坑记录 no handler found for uri [http://localhost:9200/hyy/user/_search] and method [POST
今天在尝试使用elasticasearch时碰到这个错误,在这里记录一下。首先使用的是jest操作es,导入的pom为<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsea...
2020-01-01 14:04:00 17890 1
原创 跨域问题之过滤器的坑
跨域问题在我们实际开发中前后端分离项目中会经常碰到。一般就是加个跨域注解,或者增加全局配置来解决。但今天说说项目中碰到的一种跨域的形式。首先我们要了解请求可以分为两种请求:简单请求,非简单请求。重点是非简单请求,什么是非简单请求?如果一个请求是跨域请求,然后它有自定义的请求头(比如带了token),或者请求头中的content-type是application/x-www-form-url...
2019-12-17 10:26:22 455 3
原创 全局异常处理之@RestControllerAdvice和ErrorController详解
在我们平时做项目时全局异常处理一般有两种实现方式。1.写一个类,添加上@RestControllerAdvice注解,在写处理方法,加上@ExceptionHandler注解2.写一个controller,实现ErrorController接口,写一个error接口,实现异常处理的逻辑。那么,这两种方式有什么区别呢?他们能不能同时存在呢?同时存在的话又会是怎么处理的呢?下面说一说...
2019-12-13 11:30:50 1864
原创 富文本上传的内容中img标签的src属性丢失
在一次项目上线后,突然发现后台系统的上传图片功能出了问题。是要发布一篇文章,文章内容是以富文本的形式保存的,上传图片后发现图片显示不出来,看数据库保存的字段发现img标签没有src属性,当时就奇了怪了,因为在本地测试的时候是没有问题。然后进行远程debug发现是接收的时候就已经没有了。这个时候本地和正式产生的结果就不一样了,然后找到他们的不同点:配置文件(ps:后知后觉,一开始没想...
2019-12-03 13:24:03 2545 2
原创 springboot配置拦截器
首先,我们需要实现一个拦截器,采用的是实现 HandlerInterceptor接口。会发现没有提示,不报错。这里是jdk1.8的新特性,采用了default修饰符修饰。这样以前的快捷键就没用了,这时我们使用ctrl+o的快捷键。就能快速生成代码了。然后,我们配置webConfig的类。可以看到我们之前继承方式被弃用了,这里我们就用实现WebMvcConfigurer的方式。...
2019-09-30 10:25:43 115
原创 springboot+thymeleaf线上出现500错误,无法解析或找到对应的模板,本地没问题
今天遇到个神奇的bug,项目在本地跑,没有事,放线上去,有两个页面一直报500错误,日志报无法找到对应模板。仔细的寻找,发现放这两个页面的文件夹首字母是大写,而controller里跳转到这个页面的地方写的是小写。改过来来以后就ok了。...
2019-09-26 08:44:08 3051
原创 基于webSocket,springboot实现的即时聊天功能
源码地址https://github.com/huyy12321/demo.git演示地址http://112.74.39.252/im/
2019-09-20 13:45:34 1191
原创 i++是线程安全的嘛
如果i是类的变量,那i++就是线程不安全的,如果i是方法内的变量,则i++是线程安全的。 为什么呢,因为类中的变量是存放在堆中的,这里是线程共享的,所以i++操作不是线程安全的。而方法内的i是在栈帧中的,这里是线程独享的,所以是线程安全的。 ...
2019-08-29 10:50:56 599
原创 linux系统安装jdk1.8,docker,mysql的脚本
每次给新的服务器装环境总是很繁琐的事,下面是配置环境的shell脚本,把内容复制到文本内修改成sh后缀,然后再linux上运行就可以了。mysql那里需要另外敲。内容如下:mkdir /javayum -y install wgetyum install glibc.i686 -yecho '======================================='e...
2019-08-20 14:28:07 476
原创 生成带参数的小程序码,并上传到七牛云,得到网路访问路径
小程序里经常会出现分销这个功能。而绑定用户之间的关系一般都是通过分享自己的小程序码,别人扫后,绑定之间的关系。 记录下自己去实现生成小程序的过程。首先去查看微信的文档,找到对应的接口。附上链接https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/qr-code/wxacode.getUnlimited.ht...
2019-08-15 10:34:43 989
原创 为什么mybatis执行sql后,映射的结果变少了
首先,同一条sql,在数据库中执行,和在项目中执行,结果不一样。idea打印的结果,显示的条数是正常的。但list里的结果更少了。这是因为映射的问题。我之前的映射配置如下:<resultMap type="com.server.***.NoticeVO" id="NoticeVO"> <result property="projectName" column=...
2019-07-11 15:04:02 1598
原创 mysql索引
索引的类型:INDEX(普通索引)、UNIQUE(唯一性索引)、FULLTEXT(全文索引:用于搜索很长一篇文章的时候,效果最好。用在比较短的文本,如果就一两行字的,普通的 INDEX 也可以)索引的方法:1.HASH(用于对等比较,如"=“和” <=>") //<=> 安全的比对2.BTREE(用于非对等比较,比如范围查询)>,>=,<,...
2019-06-29 10:46:37 183
原创 数据库隔离级别
这里我们以mysql为例mysql有四种隔离级别:可读未提交,只读已提交,可重复读,序列化。可能会出现的三个问题:脏读,不可重复读,幻读。首先,对数据库的操作可以分为四种:读操作和更新操作,插入操作,删除操作(可看做更新操作)。可读未提交:顾名思义,这种隔离级别下,其他事务可以读取到未提交事务所做的更改。这种隔离级别并没有对数据库做任何限制。只读已提交:当一个事务A对一条数据进行更新操作...
2019-06-29 10:44:29 238
原创 算法笔记
算法的学习从排序开始。首先,了解两个概念。原地排序算法:排序过程中没有申请多余空间,在原地执行。这样空间复杂度就较低。稳定排序算法:两个值相等的情况时,位置不变。冒泡排序:从第一个位置开始,与后面的位置比较,如果后面的值更小,则交换位置(从小到大排),然后从下一个位置起,和后面的比较。 //冒泡排序 private static int[] maoPaoSort(int[] a)...
2019-06-24 17:14:11 121
原创 数据结构笔记
数组:内存中连续的一块区域。因为是连续的区域,所以搜索比较快(按下标随机访问元素)。插入和删除因为要对其他数据进行移动,所以比较慢。删除操作有个优化,并不是真删除,而是给删除标识,等存储的数据空间达到阈值,进行统一删除操作。链表:内存存非连续的区域,存储数据的内存中有两个区域,一个数据,一个是下一个数据的地址。 充分利用碎片的空间,插入删除比较容易,搜索时要从第一处一步一步往后搜。引生出来的...
2019-06-24 16:48:22 178
原创 使用layui的table样式出现td标签的padding属性消不掉
在使用了layui的table属性后<table class="layui-table">又想往表格的td标签内加一个input输入框 <td> <input type="text"> </td>加完以后想让输入框填充整个td标签,设置了width和height为100%;以后发现有一个paddin...
2019-06-12 17:20:53 5441
原创 记录第一次抓取安卓app的数据
我是一个刚刚入职的新人,刚进公司老板给我分配的任务是写脚本。作用是从其他网站上抓取数据,然后在我们的平台上显示出来,具体业务就不介绍了,主要目的就是从其他网站抓取数据。实现方式是使用Jsoup类。这里贴一个示例代码Jsoup.connect(REGISTER_URL) .userAgent(USER_AGENT) .method(C...
2019-03-13 11:14:15 2471
原创 使用jsoup时出现状态码415,500可能的原因
在使用jsoup请求时有两种提交数据方式,data和requestBody,在使用requestbody时传输的是json字符串,如果json字符串中包含另一个json字符串,就会出现转移符号的问题,这会导致500错误。解决方法:使用replace替换掉\ 使用requestBody时也要同时设置 .header("Content-Type","application/json"),.ignor...
2019-03-11 16:29:03 1601
原创 使用Jsoup时设置Content-Type为application/json时报错
在用jsoup模拟使用安卓手机访问app时,它的Content-Type是application/json类型的,在设置完后报错Unhandled content type. Must be text/*, application/xml, or application/xhtml+xml解决方法:同时设置一下 **.ignoreContentType(true)**就好了...
2019-03-11 16:16:45 3901
bookstore .zip
2019-05-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人