自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ArangoDB 学习笔记

新工作需要用到 arangodb,由于之前没有接触过,所以从头开始学,记录一下学习过程中的重点。

2024-06-05 16:54:57 890

原创 Java中Map转对象

Data@JsonIgnore 注解的作用是在 json 序列化时将被注解的属性忽略掉return map;

2024-06-05 16:20:06 799

原创 【JUC】JAVA 多线程知识文档

JUC学习文档记录

2024-04-08 17:17:50 990

原创 Redis 入门教程

之前找工作的时候系统的看了一遍 redis 相关的文档,留了一些零散的笔记,最近有空,正好整理一下,留作记录,方便以后回顾。select [index] 切换数据库。

2024-04-08 17:15:23 714

原创 Java程序打包成exe文件全流程

因为之前都是将 maven 项目打包成 ja r或 war 文件,突然想试试打包成 exe 文件,于是调研了一下,这里做个完整流程的详细记录。

2024-03-01 17:12:53 775 2

原创 Java统计xml文件行数

但是当处理到xml文件时,我发现结果出现了问题,本应有6000多行的文件,统计出来只有42行,和正确结果相比误差大的离谱。使用记事本直接打开xml发现,这个xml文件并没有被格式化,而常规统计文件行数的方法是通过换行符来计算的,所以结果会出现误差,那么想要统计到正确的文件行数,就需要先对文件内容进行格式化。

2024-02-29 16:31:20 391

原创 Java解压缩rar文件

之前工作中遇到一个需求:rar 文件的压缩与解压缩。但是因为需求变动,还没来得及写,最近得空调研一下,发现 rar 比 zip 处理麻烦很多,这里小小记录一下。rar是个专有格式,rar许可证不允许软件开发工具如JDK集成它,如果要在Java中解压rar文件,只能利用第三方工具依赖,如 junrar。但是经过调研,发现压缩文件为 rar 还是很困难,没找到便捷可用的方法,这里仅记录 rar 文件解压的坑。

2023-12-04 17:22:03 699

原创 Java获取当前时区时间戳

工作中遇到个小bug,服务中获取的时间比当前时间少8个小时,一眼格林威治时间(GMT),在这里做个小小笔记,方便以后抄作业。

2023-12-04 14:46:38 473

原创 Java-diff-utils对比xml文件差异

工作中遇到了一个需求,需要对比两个xml文件,并记录差异位置及差异内容,以实现类似于git diff的效果。经过调研,发现了现成的轮子:java-diff-utils,它是基于Myers Diff 差分算法来实现的,这里就不记录算法的细节了,仅记录用例,方便以后抄作业。

2023-12-01 15:44:36 533

原创 Java 在 Excel 文件中写入超链接,实现点击跳转到指定 sheet

在 excel 文件中设置超链接,点击跳转到指定 sheet

2023-08-14 16:18:09 1884

原创 ArangoDB 排除空值排序

在开发过程中,遇到了这样一个场景:collection 中存在某一个字段,这里假设为 age,某些数据的 age 值为 null,进行升序排序时,值为 null 的数据会排在最前面(在许多编程语言和数据库中,null被视为一个特殊的值,它表示缺失或未知的数据。在排序时,null通常被认为是最小的值,因此会被排在前面。但实际上我们并不关心值为 null 的数据,理想情况下应该在值为非空的数据排序完以后再将值为 null 的数据加到后面,接下来记录两种实现方法,方便以后开发抄作业。

2023-07-24 17:21:56 132

原创 Springboot 实现定时任务

在实际开发过程中,经常遇到需要用到定时任务的场景,一种是在固定的时间点执行某个任务,比如每天0点执行任务;另一种是延迟执行任务,比如在某方法运行后过20分钟以后执行任务,可以用在临时数据的删除等场景。这里简单介绍两种场景下的定时任务实现方法。

2023-07-20 11:36:49 525

原创 springboot 整合nacos配置中心

在开发中,我们可以用 nacos 作为配置中心,将项目中的配置做统一管理,这里就 springboot 整合 nacos 做一个入门级案例(Nacos 安装部署过程在此省略,网上有很多详细示例)

2023-05-17 16:03:28 1713

原创 springboot+mybatis 判断内容以逗号分隔的字符串是否包含目标元素

springboot+mybatis判断内容以逗号分隔的字符串是否包含目标元素

2022-10-25 16:24:16 1681

原创 springboot + mybatis-plus 实现增删改查

springboot+mybatis-plus入门操作

2022-10-25 16:06:18 1478

原创 简单使用 springboot + Tesseract OCR 图片文字识别

springboot 简单整合 Tesseract 实现图片文字识别

2022-06-29 15:55:11 3946

原创 JAVA 去除重复对象方法

Java 中的 Set 集合中不能储存重复元素,故经常用来进行去重操作,但是在实际操作中,我们发现 Set 集合并不能判断对象是否重复,故无法对对象直接进行去重;不过我们可以通过将对象转换成 String 存入 Set 中进行去重操作后再取出转回对象,以此达到去重的目的。一. 引入依赖 <dependency> <groupId>com.alibaba</groupId> <artifa...

2021-12-20 15:11:26 4546

原创 SpringBoot + MongoDB 大容量数据多线程分批处理(示例:抽取字段构建新表)

在实际工作中,我遇到了需要对千万级别数据量的库表进行抽取字段构建新表的需求,于是在此进行总结:一. 未使用多线程1. 新建查询类 ExtractInfopackage com.example.demo.bean;import java.util.List;public class ExtractInfo { private String tableName; private List<String> fields; public String

2021-12-06 14:14:23 2601

原创 JAVA + MongoDB:将 ObjectId 对象转换为 String 对象

1. ObjectId 介绍ObjectId具有一个12字节的BSON类型的结构:4字节:UNIX时间戳3字节:表示运行MongoDB的机器2字节:表示生成此_id的进程3字节:由一个随机数开始的计数器生成的值MongoDB使用ObjectID作为_id字段的缺省值,为创建各文档生成在各文档。ObjectId的复杂组合,使所有的_id字段都是唯一的2. ObjectId 转化在之前的示例中,我们使用默认...

2021-12-02 10:31:29 4854

原创 Springboot + MongoDB 大容量数据分页及条件查询(千万数据量级别)

直接上代码1. 新建查询类 QueryDatapackage com.example.basedata.bean;import java.util.HashMap;import java.util.List;public class QueryData { private String tableName; private Integer pageNum; private Integer pageSize; private HashMap<S

2021-11-29 16:50:32 4410 7

原创 Springboot动态读取MongoDB数据库地址并实现对目标数据库的操作

在使用springboot进行web项目的后端开发过程中,我们基本都是习惯了在配置文件application.properties中以 “ spring.data.mongodb.uri= xxxx ” 直接连接mongoDB的数据库。但在最近的项目开发过程中,遇到了需要根据前端用户输入地址来动态访问数据库的需求;而在配置文件中配置连接池虽然可以访问多个数据库,但并不能实现根据输入地址动态访问的需求。在调研过一些方法之后,我发现使用MongoClient连接池是一个比较便捷且实用的方法,在此...

2021-11-29 16:03:37 1890 1

原创 MongoDB查找统计所有重复数据并返回总数

在实际开发过程中,遇到了千万级数据量的数据库表中存在重复数据。虽然可以通过编写java脚本查找去重,但不如直接使用 mongo 查询语句操作来得方便,以下为返回所有重复数据,统计重复数据总数和删除重复数据的具体操作:1. 返回 shipDivide 表中所有重复数据的具体信息:db.getCollection('shipDivide').aggregate([{ '$group': { '_id': { 'mmsi': '$mmsi'

2021-09-17 10:06:29 3943 1

原创 Springboot 整合多线程示例(简单易懂)

在之前的示例里我们实现了读取路径下所有csv文件,将其中数据转化为json对象并另存为json文件的功能。但是,在之前的代码中,我们是以顺序处理的方式依次处理csv文件的,只有在一个文件处理完之后才能开始处理下一个文件,总处理时间为所有文件处理时间之和,当文件数据量较大时会花费很长时间;所以,在这里我们引入多线程处理方法,让多个文件同时进行处理,这样总处理时间会大大减少。Springboot读取.csv文件并转化为JSON对象一. 多线程引入1. 配置线程池package com.exa.

2021-09-16 17:17:50 9462 2

原创 Springboot读取.csv文件并转化为JSON对象

有时候我们需要读取.csv文件并将其中的数据处理成json对象以便后续处理,在这里整理了简单的处理流程。1. 代码实现1)引入依赖<dependency> <groupId>net.sf.opencsv</groupId> <artifactId>opencsv</artifactId> <version>2.3</version></dependency>...

2021-09-01 16:50:13 1329 2

原创 SpringBoot快速实现文件上传下载功能(postman测试上传文件)

用springboot实现通用的文件上传下载功能,并且可以通过postman测试文件上传功能,用浏览器直接调用文件下载功能。一. 文件上传1. 代码实现1)添加 application.properties 配置spring.servlet.multipart.enabled=truespring.servlet.multipart.file-size-threshold=0spring.servlet.multipart.max-file-size=100MBsp...

2021-07-22 16:45:53 3365 2

原创 初学者入门:springboot整合elasticsearch实现空间检索实例(根据经纬度坐标查询)

es的空间检索提供了通过空间距离和位置关系进行检索的能力。将es整合到springboot中,可以轻松实现空间检索模块的编写与使用。 Springboot整合es的具体流程此处不再赘述,若有需要。可以参考如下文档:从零开始:SpringBoot整合ElasticSearch实现简单增删改查一. 使用 postman 新增实例具体使用中,可以自己编写新增接口来向es中批量添加实例。由于上一篇文档中已经详细说明了如何编写增删改...

2021-07-13 16:50:09 1694

原创 从零开始:SpringBoot整合ElasticSearch实现简单增删改查

新建springboot项目就不再赘述,相关教程非常多,很容查到。Elasticsearch在windows与linux环境下的安装与使用可以参考以下文章:Linux/windows环境下后端基础服务(tomcat,MongoDB, docker, elasticsearch等)部署说明Elasticsearch+Postman简单入门Springboot集成ElasticSearch1.引入相关依赖es版本以自己安装的版本为准<depende...

2021-07-08 19:24:58 1024

原创 Elasticsearch+Postman简单入门

Elasticsearch介绍Elasticsearch是一个开源的搜索引擎,建立在一个全文搜索引擎库Apache Lucene™基础之上。Lucene可以说是当下最先进、高性能、全功能的搜索引擎库—​—​无论是开源还是私有。但是Lucene仅仅只是一个库。为了充分发挥其功能,你需要使用Java 并将 Lucene 直接集成到应用程序中。更糟糕的是,Lucene非常复杂。Elasticsearch也是使用Java编写的,它的内部使用Lucene做...

2021-07-07 20:03:31 459 2

原创 Linux/windows环境下后端基础服务(tomcat,MongoDB, docker, elasticsearch等)部署说明

Linux环境配置 1.关闭防火墙a)禁止防火墙开机自启 systemctl disable firewalldb)关闭防火墙 systemctl stop firewalldc)查看防火墙状态 systemctl status firewalld 2. 安装jdka)安装jdk rpm -ivh jdk-8u161-linux-x64.rpm b)查看是否安装成功 java -vers...

2021-07-06 17:40:45 316

空空如也

空空如也

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

TA关注的人

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