![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
work
家家小迷弟
这个作者很懒,什么都没留下…
展开
-
将数据转换成xml格式的文档并下载
【代码】将数据转换成xml格式的文档并下载。原创 2024-03-21 15:21:43 · 351 阅读 · 0 评论 -
mysql查看以及建立索引
每张表都会有原始的主键索引PRIMARY,下面的索引是我后面加的,date_range_index是日期的范围索引,如果需要查询某个时间段内的记录,并且字段是日期类型,建立一个日期范围查询的索引会比较好。对于日期类型的字段,通常建议使用 B-Tree 索引,因为 B-Tree 索引适合范围查询,能够快速定位到指定范围内的记录。5、组合索引:这将为多个字段创建一个组合索引,并指定索引类型为 B-树(BTREE)。1、唯一索引:这将为指定字段创建一个唯一索引,确保该字段中的值在整个表中是唯一的。原创 2024-03-14 18:34:10 · 573 阅读 · 0 评论 -
Java下载FTP服务器上的资源,附带FTP工具类
查看目录下文件操作:查看/pubmed/updatefiles下的gz结尾文件。这里有个坑:如果是匿名登录,账号密码还是要的。原创 2024-01-23 15:39:23 · 1286 阅读 · 0 评论 -
Java解析xml文档,判断对象是一个json是jsonArray还是jsonObject
即对于treeNumberList获取key为TreeNumber是一个对象,还是一个数组,再进行取值。现在需要解析出其中的内容,首先需要明确的是,文档是由一个个的标签嵌套形成的,例如整个xml文件是由许多。通过“content”这个key,获取下面的内容,解析出来是一个JSONObject对象,可以看到,整个xml文档里面,有5个DescriptorRecord嵌套,首先将文件读取并且解析为doc,再转成JSONObject对象,在debug的时候,结合xml格式,来判断下一步是怎么取值,原创 2024-01-02 15:57:40 · 2532 阅读 · 0 评论 -
自定义TypeHandler 将mysql返回的逗号分隔的String转换到List
但是在springboot里面,我没有加入上面的注册,也能运行,原因是MyBatis 可以通过自动扫描的方式发现自定义的 TypeHandler 而无需显式地在 中进行注册。后来才发现,mysql的GROUP_CONCAT返回的是字符串String类型,无法映射到定义的list里面,MyBatis 返回的结果集与接收结果的对象类型不匹配。方法一:这里可以修改接受类:,用String接受,在用String的split方法分割处理成List。原创 2023-12-05 11:07:12 · 4765 阅读 · 0 评论 -
python合并多个CSV文件成一个
之前写的是合并Excel,这次是操作CSV文件,可以看到文件非常多。是跳过表头的操作,不需要可以省略。是需要输出的文件,这个不是路径。是需要合并的文件夹路径,原创 2023-11-14 18:45:33 · 4447 阅读 · 0 评论 -
通过百度翻译API完成Java中的中英文翻译
其中有好几处细节需要注意,需要替换为自己的appid和密钥、拼接url的时候,前半部分需要将输入的转换为UTF-8格式,不然会因为莫名其妙的符号报错,后半部分则保持原样输入,表明了是中文转英文,其他语言可以在开发文档中找到,后面通过json解析和转换,最终获取到英文结果。这里可以完善相关信息,要记住的包括APPID和密钥,这里最好不要填服务器地址,不然会报错。因为要做英文文献索引分词,所以对于索引词汇必须得是英文,将表中的中文都转换成英文。这里可以查看到具体请求的细节。注册成为个人开发者就可以,原创 2023-11-13 18:26:58 · 2656 阅读 · 0 评论 -
springboot中定时任务cron不生效,fixedRate指定间隔失效,只执行一次的问题
奇怪的是都有在执行,后来经过排查,是定时任务线程的原因:Scheduled定时任务默认的线程数只有一个,进行定时任务调度时会同步的去调度,一个执行完成后再执行另一个,项目中定时任务非常多,所以没能异步执行,解决方法是添加一个配置类,设置TaskScheduler线程数为多个,这样再执行时就会异步执行了,各个定时任务间互不影响。原创 2023-11-09 18:42:51 · 2183 阅读 · 0 评论 -
Java判断时间间隔来决定任务执行
这里就像做减法,一定要注意顺序, 例如 9和5之间的间隔一定大于2,9-5>2没毛病但是5-9>2肯定不成立的。数据库中的任务记录表的某条记录,状态一直无法变更,导致整个任务进程卡住,看了代码如下,任务更新时间为2023-09-13 15:35:40。正常情况是要走到这个else里面,执行。将任务状态改为失败的。原创 2023-09-14 18:45:21 · 694 阅读 · 0 评论 -
Java实现合并多个excel操作
涉及较多封装的工具类,所有依赖的工具类均提供代码,根据名称新建对应的类,在每个工具类中再引入相应的依赖即可首先需要明确的是,需要合并的每个excel的表头名称必须是相同的,针对表头,建立传输的dto:其中为自定义注解,代码如下:以上注解需要Excel数据格式处理适配器 ,代码如下:接口实现如下:原理是,传入多个excel文件,循环读取每个excel里面的数据,保存到临时变量tmpList中,再添加到最终需要导出的集合herbExtractDtoList中,ExcelUtil代码如下:其中需要原创 2023-09-12 18:30:19 · 2850 阅读 · 2 评论 -
mysql表中删除重复记录,只保留一条记录的操作
此操作找出了需要保留的记录,即按name、class进行分组,取出id最小的记录,删除id不在上面的记录即可,最终保留的记录的id为1、3、4、5、6、8,原表中的2、7、9、10均为要删除的重复记录。对比元数据表,可以看到t1表中是id较大的记录 2、7、9、10刚好就是重复的记录,所以直接使用上面的。其中name 和 class 相同的视为重复记录,需要保留一条记录,删除重复记录,这是找出两张表中的name与class相同的记录的视图,加上判断条件。运行选中的代码,此时未加条件。原创 2023-09-05 23:59:47 · 5943 阅读 · 0 评论 -
将符号分隔的文本文件txt转换为excel的实现
将符号分隔的文本文件txt转换为excel的实现。原创 2023-08-31 14:57:34 · 901 阅读 · 0 评论 -
Java将汉字转拼音以及判断字符是否为汉字
可以看到,不管什么符号,都会原样输出,原创 2023-07-27 17:08:53 · 363 阅读 · 0 评论 -
Java使用minio批量上传文件
它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据。例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。MinlO是一个非常轻量的服务 可以很简单的和其他应用的结合,类似NodeJS, Redis或者MySQL。MinIO是Kubernetes的原生产品,是唯一一个可在每个公共云、每个Kubernetes发行版、私有云和边缘上使用的对象存储套件。MinIO是软件定义的,在GNU AGPL v3下是100%开源的。原创 2023-06-09 15:34:21 · 2977 阅读 · 0 评论 -
linux按时间删除新增的文件
【代码】linux按时间删除新增的文件。原创 2023-06-08 17:53:37 · 218 阅读 · 0 评论 -
Java多线程获取网页数据并更新到数据库
创建线程的工厂,通过自定义的线程工厂可以给每个新建的线程设置一个具有识别度的线程名Executors静态工厂里默认的threadFactory,线程的命名规则是“pool-数字-thread-数字”,这里使用默认。如果当前阻塞队列满了,且继续提交任务,则创建新的线程执行任务,前提是当前线程数小于maximumPoolSize,这里使用的。这里需要注意的是,一般网上默认的例子都是使用第一个,这里我在使用的时候,由于参数设置的不合理,导致直接抛出异常,终止了程序,这里我是用的是第二种。原创 2023-06-07 10:41:00 · 797 阅读 · 0 评论 -
Java做Excel导出,将数值转换为科学计数法保存,使用postman发送post请求保存excel文件
Java做Excel导出,将数值转换为科学计数法保存。原创 2023-05-10 17:27:06 · 902 阅读 · 1 评论 -
mybatisPlus更新策略导致更新失败
失败的原因是:在使用updateById更新的时候,如果该字段为空,则不进行更新,该注解的作用是,忽略mp的更新策略,如果没空,直接置空:mp提供了以下几种策略。如图,在选择关联模板的时候,把它取消,原创 2023-03-15 19:39:21 · 2543 阅读 · 0 评论 -
查数据库中包含某个字段的所有表
查数据库中包含某个字段的所有表。原创 2023-03-03 10:24:02 · 860 阅读 · 0 评论 -
后端传递Date类型在前端转换为yyyy-MM-dd HH:mm:ss类型
前端页面显示的时间格式如何转换为:年-月-日 时:分:秒 ?原创 2022-12-01 11:16:24 · 493 阅读 · 0 评论 -
vue前端页面实现打印与将页面转换为PDF下载
vue前端页面实现打印与将页面转换为PDF下载:首先是一个合同页面,需要的功能是,直接在页面打印该合同,或者将该合同以PDF的格式下载下来:原创 2022-11-08 11:13:30 · 1155 阅读 · 2 评论 -
多模块项目在idea里面运行正常,打包失败,找不到程序包,找不到符号报错
原因就出在打包的顺序, 打包的时候会生成两种包,一个包含了本包的所有类,另一个是可执行的包,,,程序会先生成原始包,然后生成执行包,覆盖掉原始包,而原始包是根据其他包读取的,所以会出现找不到包;这种情况出现在,跨模块调用另一个模块的方法时;另一个模块恰巧也是一个可执行包,就会出现这个问题;因为两个模块都是启动类,所以会生成两个执行包,就出现这个问题了。原创 2022-09-30 15:29:32 · 3754 阅读 · 0 评论 -
多模块(多个启动类)本地正常,maven打包报错,通过openfeign远程调用解决模块间的冲突
首先项目结构如下,admin为后台框架主体、主要包含了登录、对导航菜单维护等一些基本接口,common为公共返回对象等配置,contract为合同业务模块,gateway网关模块、security登录验证授权模块,其中admin、contract、gateway包含启动类。:项目引入本地jar包,只在编译器里进行了配置而没有在Maven中进行配置,因为admin属于自己的jar包,没有在maven中配置,所以打包报错,这里网上有很多方法,后面也贴出了参考链接。在需要获取登录用户信息的地方先注入。原创 2022-09-23 11:44:49 · 1020 阅读 · 0 评论 -
java的IO流+springboot+vue实现服务器的文件上传下载
service:首先通过文件id,查询文件表,获得文件所在服务器的路径、文件名,拼接URI为filePath,传入File,得到文件对象,设置类型为application/octet-stream。是提交地址,BASE_API同样需要在data中定义,process.env是使用config中的prod.env.js中的BASE_API。后台接口返回值为void,这里拦截器拦截,没有res.code,会直接报错如下图,不会下载,这里我把它改成,等于500才报错,成功避免。是各种回调函数,根据需要设置,原创 2022-09-20 15:59:27 · 2032 阅读 · 4 评论 -
java判断日期大小和使用定时任务清除过期任务
首先获得整个表的list,然后通过Stream获得每一个记录,再取得每一个记录的结束时间endTime,此时为字符串类型,使用SimpleDateFormat将其转换为Date类型的end,使用new Date获得当前时间的Date类型的对象now,再end.compareTo(now);现在有一张会议表,其中字段有开始时间和结束时间,现在需要定时任务,每过几个小时处理一次,判断当前时间是否大于结束时间,如果大于,对表相关的状态字段进行处理。原创 2022-09-06 17:20:44 · 440 阅读 · 0 评论 -
vue项目突然无法访问,登录显示空白页,控制台报错Cannot find module ‘./‘
删除node_modules,重新npm install,没有用,问题应该出在前台,修改登录页面:原来登录成功是跳转/,现在增加。登录,成功跳转,不知道是不是我上次加了导航菜单的原因。隔了一个周末,项目突然无法登陆了,登录直接无反应。......原创 2022-08-29 09:52:25 · 2962 阅读 · 0 评论 -
使用openfeign调用报错java.io.IOException: too many bytes written,以及调用过程中参数传递为空等问题
解决方法是在实现RequestInterceptor接口的类中,进行获取header的Content-Length,并特殊处理。需要注意的是,这里我传递的是对象类型,需要加**@RequestBody**注解,在消费者和服务者都要加才行,太不细心了。问题来源:在 Feign 调用拦截器里,当传递头header时,写入的头数据内容过大。调用接口,但是值没有插进去,控制台只插入id和时间。使用openfeign调用报错。...原创 2022-08-18 17:31:12 · 1041 阅读 · 0 评论 -
@PathVariable传递参数为空,报错404找不到路径 ,@RequestParam传到后端参数为空
vue前端我传一个obj对象,这个是分页操作,obj对象包含当前页current和每页大小size,searchName为条件查询的名称:一开始写法如下:原创 2022-08-17 11:20:38 · 3424 阅读 · 0 评论 -
Feign发起远程调用报错401,使用Spring Cloud Feign实现JWT令牌中继,传递认证信息
在构建微系统的时候,系统由一个微服务A,一个微服务B构成,登录使用的是springsecurity+jwt进行认证,现在登录写在服务A中,在调用服务B时候,报错401了。test接口为服务A中的调用服务B的接口,在登录状态下,调用test接口,报错401了。重启服务,在A中调用B:成功调用到了。单独调用服务B的接口,没有问题。...原创 2022-08-12 17:03:31 · 2081 阅读 · 0 评论 -
springcloud整合nacos与gateway,模块启动报错Param ‘serviceName‘ is illegal, serviceName is blank
看到这个service属性是设置服务名称的,但是默认的就是spring.application.name,这个我已经设置了,问题应该不大。要注意的是,这个版本要选择合适自己springcloud和springcloudAlibaba的版本,关于版本,还有很多坑,这里先记录一下。后来发现,在编译的target里面,没有application.yml这个文件,配置文件没加载,没有成功注册到nacos中,看样子是服务名出了问题,nacos也没有注册上。...原创 2022-08-12 14:54:33 · 961 阅读 · 0 评论 -
java发送邮件完成密码找回功能
这里我想的一种核验方式是,将重置的密码发送给用户,邮件里附带激活地址,激活地址实际上就是后台的一个接口,参数为重置的密码,用户点击激活地址,才开始修改数据库的密码。如果存在,则开始重置密码,把重置完成的密码以邮件的形式发送给用户,并修改数据库的密码。这个存在的问题是没有很好的核验,也就是任何知道你邮箱的人,都可以重置密码,当然,这个密码只会发到你这里,应该也问题不大。想给管理系统加上个密码找回的功能,一开始想的是新增一个管理员重置密码的接口,但是想想还是能有个自助找回的功能,毕竟比较方便。...原创 2022-08-10 11:35:34 · 1164 阅读 · 0 评论 -
前端vue项目获取当前登录用户id以及后端将MultipartFile转换为Base64字符串
需要注意的是,工具类中的方法,如果使用static修饰,可以直接通过类名+方法名进行调用,也可以先new一个工具类的对象,再通过对象+方法名进行调用,但是如果没有用static修饰,则只能通过new工具类对象的方法这个方式进行调用。现在的需求,用户在前端更改头像,1、获取到用户的id。2、将图片转换为Base64编码。...原创 2022-07-28 09:52:55 · 3598 阅读 · 0 评论 -
vue使用elementUI的折叠表格只出现父级,没有子菜单,另附树形菜单递归写法
再创建递归方法getDeptChirld此方法的返回值为部门信息SysDept,初始化一级部门的子节点Children,遍历所有部门信息,当前部门的父级id等于一级部门的id,则当前部门属于父级部门的子级,判断当前节点的子节点是否为空,为空就初始化子节点,再调用本身,把子节点和所有数据传入,再走一遍,查看该节点是否还在有子节点,把查出来的子节点添加到当前节点sysDept。...原创 2022-07-26 14:57:02 · 1672 阅读 · 4 评论 -
快速筛选打卡时间日期等数据:EXCEL筛选查找某一时间点是否在某一时间段内
需要快速筛选打卡数据,要求:上班打卡时间不得迟于八点半,下班不得早于5点半,这里提供两种方法:一种是通过SQL,一种是通过Excel宏命令完成:一、首先把excel导入到数据库,这里使用的是Navicat:首先右键表,选择导入向导,这里导入excel和csv文件都可以:一直点击下一步,开始导入:表已经导入成功,此处可以修改表名为sign表中时间字段为f7,把正常打卡时间删除,剩下的就是不合规的记录:执行命令:如下图剩下的就全是不是合规的打卡时间。再点击导出向导,将它导出为excel即原创 2022-06-24 15:07:00 · 8282 阅读 · 0 评论 -
Springboot+Vue整合Echarts实现数据可视化
首先是后端:主要用到的是Echarts的折线图,其中需要后端传过来的数据,就是横轴和纵轴的数据,在后端,我拿到了对象的List集合,新建了两个List用来存放横轴纵轴的数据,avgList是Y轴表示利用率,timeList是x轴表示时间,再放到Map中返回给前端@ApiOperation("查询cpu分析数据列表") @PostMapping("getEchartsList/{memoryId}") public CommonResult getEchartsList( @PathVar原创 2022-05-10 11:30:19 · 2859 阅读 · 0 评论 -
Springboot+Vue+EasyExcel实现web页面的excel下载
读取跟着教程做很容易,下载自己摸索属实费了点功夫按照官网教程来做https://alibaba-easyexcel.github.io新建了一个springboot工程,然后访问地址,确实可以弹出下载页,但是现有项目整合了springsecurity,不管怎么搞,前端点击下载按钮总是没反应。后台部分:1:controller@ApiOperation(value = "导出excel") //swageer2注解,可忽略 @GetMapping("/getExcel") publ原创 2022-05-06 17:25:35 · 2178 阅读 · 0 评论 -
Springboot+Vue+EasyExcel实现web页面的excel读取
首先是读取:前端用的上传组件不细说这里通过action提交到后台相应接口后端如下:1、controller层:@ApiOperation(value = "CPU的Excel批量导入") @PostMapping("addComputer") public CommonResult addSubject(MultipartFile file) { //1 获取上传的excel文件 MultipartFile computerService.save原创 2022-05-06 16:52:43 · 1415 阅读 · 0 评论 -
vue-element-template模板添加登录页面自定义背景
初始效果:在下列路径放背景图vue-element-admin-master\src\assets\login_images\login_bg.jpgvscode里面不能粘贴的,直接在项目文件夹里创建文件夹放上对应的图片修改login的index.vue的css,在.login-container选择器中,注释掉红框的几个属性,新加黄框里面的属性: width: 100%; height: 100%; background-image: url("../../assets/login_原创 2022-04-29 16:45:32 · 3247 阅读 · 0 评论 -
vue项目部署的跨域问题解决
跨域问题在前后端分离项目很常见,至于为什么会跨域,同源策略,百度各种博客都很详细,这里不再介绍,主要记录项目中的各种设置,解决的过程。首先是后端:过滤器:@Configurationpublic class GlobalCorsConfig { /** * 允许跨域调用的过滤器 */ @Bean public CorsFilter corsFilter() { CorsConfiguration config = new CorsCon原创 2022-04-26 10:14:42 · 8798 阅读 · 0 评论 -
java处理大容量excel报错解决
java使用easyexcel读取excel将数据保存到数据库,由于excel数据量较大,有40多万行,大小接近20M,在处理中报错了分为两处报错,第一个浏览器报错:413 Request Entity Too Large请求实体太大的原因由于Nginx默认的request body为1M,小于我上传的大小这里修改nginx配置文件nginx.conf在http{}中加入 client_max_body_size 100m;然后重启nginx第一个报错解决第二个springboot报错,如原创 2022-04-14 14:09:30 · 1070 阅读 · 0 评论