自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 将数据转换成xml格式的文档并下载

【代码】将数据转换成xml格式的文档并下载。

2024-03-21 15:21:43 314

原创 mysql查看以及建立索引

每张表都会有原始的主键索引PRIMARY,下面的索引是我后面加的,date_range_index是日期的范围索引,如果需要查询某个时间段内的记录,并且字段是日期类型,建立一个日期范围查询的索引会比较好。对于日期类型的字段,通常建议使用 B-Tree 索引,因为 B-Tree 索引适合范围查询,能够快速定位到指定范围内的记录。5、组合索引:这将为多个字段创建一个组合索引,并指定索引类型为 B-树(BTREE)。1、唯一索引:这将为指定字段创建一个唯一索引,确保该字段中的值在整个表中是唯一的。

2024-03-14 18:34:10 435

原创 Java下载FTP服务器上的资源,附带FTP工具类

查看目录下文件操作:查看/pubmed/updatefiles下的gz结尾文件。这里有个坑:如果是匿名登录,账号密码还是要的。

2024-01-23 15:39:23 746

原创 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 2469

原创 自定义TypeHandler 将mysql返回的逗号分隔的String转换到List

但是在springboot里面,我没有加入上面的注册,也能运行,原因是MyBatis 可以通过自动扫描的方式发现自定义的 TypeHandler 而无需显式地在 中进行注册。后来才发现,mysql的GROUP_CONCAT返回的是字符串String类型,无法映射到定义的list里面,MyBatis 返回的结果集与接收结果的对象类型不匹配。方法一:这里可以修改接受类:,用String接受,在用String的split方法分割处理成List。

2023-12-05 11:07:12 4216

原创 python合并多个CSV文件成一个

之前写的是合并Excel,这次是操作CSV文件,可以看到文件非常多。是跳过表头的操作,不需要可以省略。是需要输出的文件,这个不是路径。是需要合并的文件夹路径,

2023-11-14 18:45:33 4228

原创 通过百度翻译API完成Java中的中英文翻译

其中有好几处细节需要注意,需要替换为自己的appid和密钥、拼接url的时候,前半部分需要将输入的转换为UTF-8格式,不然会因为莫名其妙的符号报错,后半部分则保持原样输入,表明了是中文转英文,其他语言可以在开发文档中找到,后面通过json解析和转换,最终获取到英文结果。这里可以完善相关信息,要记住的包括APPID和密钥,这里最好不要填服务器地址,不然会报错。因为要做英文文献索引分词,所以对于索引词汇必须得是英文,将表中的中文都转换成英文。这里可以查看到具体请求的细节。注册成为个人开发者就可以,

2023-11-13 18:26:58 2496

原创 springboot中定时任务cron不生效,fixedRate指定间隔失效,只执行一次的问题

奇怪的是都有在执行,后来经过排查,是定时任务线程的原因:Scheduled定时任务默认的线程数只有一个,进行定时任务调度时会同步的去调度,一个执行完成后再执行另一个,项目中定时任务非常多,所以没能异步执行,解决方法是添加一个配置类,设置TaskScheduler线程数为多个,这样再执行时就会异步执行了,各个定时任务间互不影响。

2023-11-09 18:42:51 1945

原创 Java判断时间间隔来决定任务执行

这里就像做减法,一定要注意顺序, 例如 9和5之间的间隔一定大于2,9-5>2没毛病但是5-9>2肯定不成立的。数据库中的任务记录表的某条记录,状态一直无法变更,导致整个任务进程卡住,看了代码如下,任务更新时间为2023-09-13 15:35:40。正常情况是要走到这个else里面,执行。将任务状态改为失败的。

2023-09-14 18:45:21 674

原创 Java实现合并多个excel操作

涉及较多封装的工具类,所有依赖的工具类均提供代码,根据名称新建对应的类,在每个工具类中再引入相应的依赖即可首先需要明确的是,需要合并的每个excel的表头名称必须是相同的,针对表头,建立传输的dto:其中为自定义注解,代码如下:以上注解需要Excel数据格式处理适配器 ,代码如下:接口实现如下:原理是,传入多个excel文件,循环读取每个excel里面的数据,保存到临时变量tmpList中,再添加到最终需要导出的集合herbExtractDtoList中,ExcelUtil代码如下:其中需要

2023-09-12 18:30:19 2568 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 4733

原创 将符号分隔的文本文件txt转换为excel的实现

将符号分隔的文本文件txt转换为excel的实现。

2023-08-31 14:57:34 834

原创 Java将汉字转拼音以及判断字符是否为汉字

可以看到,不管什么符号,都会原样输出,

2023-07-27 17:08:53 326

原创 使用配置文件自定义线程池参数

pom文件中加上依赖,可以自动补全配置文件。

2023-07-09 14:48:50 482

原创 线程池与CompletableFuture 异步编排

通过重复利用已经创建好的线程降低线程的创建和销毁带来的损耗因为线程池中的线程数没有超过线程池的最大上限时,有的线程处于等待分配任务的状态,当任务来时无需创建新的线程就能执行线程池会根据当前系统特点对池内的线程进行优化处理,减少创建和销毁线程带来的系统开销。无限的创建和销毁线程不仅消耗系统资源,还降低系统的稳定性,使用线程池进行统一分配以下代码首先创建线程池executor,将其传入异步编排对象,它提供了四个静态方法来创建一个异步操作。

2023-06-18 10:38:45 373

原创 Java使用minio批量上传文件

它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据。例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。MinlO是一个非常轻量的服务 可以很简单的和其他应用的结合,类似NodeJS, Redis或者MySQL。MinIO是Kubernetes的原生产品,是唯一一个可在每个公共云、每个Kubernetes发行版、私有云和边缘上使用的对象存储套件。MinIO是软件定义的,在GNU AGPL v3下是100%开源的。

2023-06-09 15:34:21 2372

原创 linux按时间删除新增的文件

【代码】linux按时间删除新增的文件。

2023-06-08 17:53:37 203

原创 Java多线程获取网页数据并更新到数据库

创建线程的工厂,通过自定义的线程工厂可以给每个新建的线程设置一个具有识别度的线程名Executors静态工厂里默认的threadFactory,线程的命名规则是“pool-数字-thread-数字”,这里使用默认。如果当前阻塞队列满了,且继续提交任务,则创建新的线程执行任务,前提是当前线程数小于maximumPoolSize,这里使用的。这里需要注意的是,一般网上默认的例子都是使用第一个,这里我在使用的时候,由于参数设置的不合理,导致直接抛出异常,终止了程序,这里我是用的是第二种。

2023-06-07 10:41:00 752

原创 Java使用Jsoup获取网页指定元素

Java使用jsoup抓取网页页面指定元素内容

2023-06-01 18:20:24 778

原创 Java遍历Map集合,获取key、value等方式

上面的几种遍历方法都用了增强型 for 循环 —— foreach, 这是 JDK 5 开始才有的特性。

2023-06-01 11:11:58 8607

原创 Java做Excel导出,将数值转换为科学计数法保存,使用postman发送post请求保存excel文件

Java做Excel导出,将数值转换为科学计数法保存。

2023-05-10 17:27:06 800 1

原创 SecureCRT工具下sftp的用法,从windows往centos里面传文件夹

另外我尝试右键复制文件夹,到vmware里面的centos窗口里面粘贴,或者直接拖动文件夹到centos的窗口,都导致了机器蓝屏。这里上传的是单个文件,没有办法上传到文件夹。

2023-04-07 21:49:02 1049

原创 Stream流中,根据对象去重+指定对象中的属性去重

在main方法中构造四个对象,其中第四个对象为重复对象,现在进行对象的去重、以及对象中某一属性的去重操作。运行结果如下,可以看到,stream流的distinct只是将对象去重,将相同的第三个和第四个对象去重了。

2023-03-28 22:38:08 8330

原创 mybatisPlus更新策略导致更新失败

失败的原因是:在使用updateById更新的时候,如果该字段为空,则不进行更新,该注解的作用是,忽略mp的更新策略,如果没空,直接置空:mp提供了以下几种策略。如图,在选择关联模板的时候,把它取消,

2023-03-15 19:39:21 2409

原创 查数据库中包含某个字段的所有表

查数据库中包含某个字段的所有表。

2023-03-03 10:24:02 815

原创 虚拟机调优工具java VisualVM中的插件Visual GC 2.1.2离线安装,附下载地址

如下,点击Visual GC,如果电脑能正常访问github,就可以下载,如果无法访问,本文最后提供下载地址,离线下载。

2023-01-11 10:13:35 870 1

原创 openFeign远程调用返回页面404 ,对应配置文件不生效,排除数据源等问题

项目启动报错:导致这个问题的原因是因为,在 pom.xml 配置文件中,配置了数据连接技术 spring-boot-starter-jdbc 包 ,在启动配置文件时 ,Spring Boot 的自动装配机制就会去配置文件中找,相关的数据库的连接配置信息,如果找不到则抛出异常信息。一开始以为是openFeign的问题,经过检查,各种接口、注解都没问题,而且这个404感觉不是找不到路径的问题,感觉是服务本身的问题,后来写了个简单的controller,用postman测试一下。

2023-01-03 11:55:46 2072

原创 谷粒商城公共返回R加泛型获取不到data,反序列化之后data为空

可以看到,在经过setData以后,R的返回值里面只有msg和code,并没有data。这里需要修改公共模块中R的data方法,注释掉原来的data构造参数,并新增以下代码。远程调用以后这个给统一返回对象R加上泛型以后,获取不到data值,这里data为空。

2023-01-03 10:15:39 543 2

原创 后端传递Date类型在前端转换为yyyy-MM-dd HH:mm:ss类型

前端页面显示的时间格式如何转换为:年-月-日 时:分:秒 ?

2022-12-01 11:16:24 444

原创 vue前端页面实现打印与将页面转换为PDF下载

vue前端页面实现打印与将页面转换为PDF下载:首先是一个合同页面,需要的功能是,直接在页面打印该合同,或者将该合同以PDF的格式下载下来:

2022-11-08 11:13:30 1050 2

原创 JSR303数据校验,响应体中没有具体message信息的处理

【代码】JSR303数据校验,响应体中没有具体message信息的处理。

2022-11-04 16:34:13 173

原创 引入阿里云存储OSS报错:Error creating bean with name ‘ossClient‘ defined in

在引入阿里云存储的时候,在common模块导入oss相关的依赖,这里坑爹的是,视频中引入的是,github里面的东西已经更新,引用是,而我没有发现,才导致了后面的报错。

2022-11-03 17:21:41 14938 9

原创 配置gateway路由与路径重写规则,验证码503问题的解决

刷新页面:验证码为空,直接在网关里面请求验证码的方法,肯定是不行的,验证码的方法是来源于renren-fast的服务中的,因此网关应该把请求转发到renren的8080端口的服务中,在网关配置中,凡是前端项目的携带api前缀的请求,都转发(负载均衡的方式)到renren-fast服务中,这里我犯了两个错误,第一,我没有启动gateway的服务,导致验证码接口请求失败。将前缀api的,重写成renren-fast的。定义规则:前端请求接口后面加上api前缀。

2022-10-28 11:38:24 5453 6

原创 renren-fast启动失败,springboot与springcloud版本不匹配问题解决

在启动renren-fast时候,导入common模块以后,项目直接报错,任何一个服务都无法启动,看报错是循环依赖,找不到模块的问题。里面,盲猜是由于依赖管理的优先级较高,可以修改renren-fast的cloud相关版本。这里应该是renren-fast的cloud版本和springboot版本不一致问题了。中,还是会报错,没有起到作用,这里需要放到。这里需要注意的是,如果直接把。

2022-10-28 10:23:54 1404

原创 多模块项目在idea里面运行正常,打包失败,找不到程序包,找不到符号报错

原因就出在打包的顺序, 打包的时候会生成两种包,一个包含了本包的所有类,另一个是可执行的包,,,程序会先生成原始包,然后生成执行包,覆盖掉原始包,而原始包是根据其他包读取的,所以会出现找不到包;这种情况出现在,跨模块调用另一个模块的方法时;另一个模块恰巧也是一个可执行包,就会出现这个问题;因为两个模块都是启动类,所以会生成两个执行包,就出现这个问题了。

2022-09-30 15:29:32 3556

原创 idea本地运行正常,打包部署以后openFeign调用失败,返回为null,以及报错406

就是打包以后,在运行jar包的情况下,openFeign就调用不到了,查看控制台,里面打印的sql,其中的用户id参数竟然是null。admin模块中我定义的获取当前用户的方法getCurrentUser方法来获取当前用户,contract模块中,我使用openFeign调用该方法,然后获取用户的id来查询,但是页面数据为空,这就很奇怪了。,报错信息里面竟然是401,未登录的错,这就有点迷惑了,本地调用都没问题,打个包部署运行,去调用方法,竟然是未登录状态。

2022-09-29 15:54:20 3211

原创 jar包运行报错jar中没有主清单属性、springGateway访问接口报错302,跳转login接口

百度原因可能是:spring security框架未通过认证而将请求重定向至登录页面!因为contract模块中的接口没有涉及springsecurity的认证,而token令牌是通过之前的中继完成的,所以在启动类上的注解增加。三、成功运行jar包以后、访问相关接口、报错302,重定向请求login接口,二、找不到 / 无法创建相关的Mapper、Service等、报错。至此,项目成功打包并且运行、不过坑还在后面。注解,表明mapper所在的路径即可。为该模块启动类的包路径。

2022-09-29 14:54:29 1524

原创 多模块(多个启动类)本地正常,maven打包报错,通过openfeign远程调用解决模块间的冲突

首先项目结构如下,admin为后台框架主体、主要包含了登录、对导航菜单维护等一些基本接口,common为公共返回对象等配置,contract为合同业务模块,gateway网关模块、security登录验证授权模块,其中admin、contract、gateway包含启动类。:项目引入本地jar包,只在编译器里进行了配置而没有在Maven中进行配置,因为admin属于自己的jar包,没有在maven中配置,所以打包报错,这里网上有很多方法,后面也贴出了参考链接。在需要获取登录用户信息的地方先注入。

2022-09-23 11:44:49 978

原创 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 1914 4

原创 java判断日期大小和使用定时任务清除过期任务

首先获得整个表的list,然后通过Stream获得每一个记录,再取得每一个记录的结束时间endTime,此时为字符串类型,使用SimpleDateFormat将其转换为Date类型的end,使用new Date获得当前时间的Date类型的对象now,再end.compareTo(now);现在有一张会议表,其中字段有开始时间和结束时间,现在需要定时任务,每过几个小时处理一次,判断当前时间是否大于结束时间,如果大于,对表相关的状态字段进行处理。

2022-09-06 17:20:44 426

空空如也

空空如也

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

TA关注的人

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