随笔分类 - java
记录一些java实现功能的样例
摘要:当遇到要生成一个word文档(证明文件等)的需求时,就可以考虑使用word模板生成.doc和.wps文件 一、需求 1、生成如下这样的订单数据.doc文件,红框部分是变化的,其余部分是固定的 2、生成如下这样的书籍列表,书的个数不固定是动态的。 二、使用Docx4j实现 1、引入依赖 <!-- Do
阅读全文
摘要:springboot 生成war包使用IDEA自带的功能总是报错,IDEA生成jar包挺好用,使用maven来生成war包比较方便下面总结一下。 一、启动类添加部分 找到工程启动类添加如下红色部分内容 二、 修改pom文件 打包方式改成war 三、编译工程进行打包 四、取war包
阅读全文
摘要:当对方的接口参数是@RequestBody类型时如何调用。 1、对方controller接口写发如下: @PostMapping(value = "/test") @ResponseBody public StringresultBack(@RequestBody String resultJson
阅读全文
摘要:WatchService 是 Java NIO 包 (java.nio.file) 中提供的一个用于监控文件系统变化的 API。它允许应用程序监听目录中的文件创建、修改和删除事件。 基本原理 WatchService 使用操作系统提供的文件系统通知机制: Windows: 使用 ReadDirect
阅读全文
摘要:遇到使用java调用其他系统的http接口时,发送的参数中有文件,不太好处理,如下总结了发送带文件的的http方法,发送的文件还需要先将File 转成MockMultipartFile 否则接收会报错。 关键的代码和依赖如下所示。 一、依赖 <dependency> <groupId>org.apa
阅读全文
摘要:如何使用java发送参数以@RequestBody类型接收到的请求。如下使用java的HttpClient写一个样例 依赖 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifact
阅读全文
摘要:1、需求描述: 有一个大集合,大集合中的元素是是一个小集合,要求在大集合中的小集合不能重复,小集合中的元素没有顺序。 例如有个大集合 [[a,b],[b,c]] 向这个元素中添加元素[b,a]就是添加重复元素因为与[a,b]是一样的都包含a,b 添加[c,d]就可以。 2、实现代码 public s
阅读全文
摘要:AOP(面向切面编程)的核心概念是“切面”。 切面是一个跨越多个对象的类,它封装了横切关注点的具体实现。通过定义切面,开发人员可以将通用功能从业务逻辑中分离出来,形成独立的模块。在Spring AOP中,切面由切点(Pointcut)、通知(Advice)和连接点(Joinpoint)组成。切点用于
阅读全文
摘要:导出excle文件中的单元格有些需要合并如何操作 例如:左边的表格想合并单元格成右边的表格更加便于观看 一、依赖文件 <!-- excle操作--> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactI
阅读全文
摘要:excle文件导出,会遇到一个65535行限制的问题,就是导出的数据行数超过65535行就会导出失败,这个是excle本生的限制,这种情况下通常将导出的格式改成csv这样就可以跨过这个限制,同时生成的csv文件用office打开浏览效果与打开excle没有区别可以完美替代。 1、依赖(比导出excl
阅读全文
摘要:后端直接生成一个excle文件,提供给前端进行下载 1、依赖 <!-- excle操作--> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.3.8</version>
阅读全文
摘要:使用mybatis-plus开发中会遇到数据量多的情况下,插入和修改效率低,主要原因是“新增“和“修改”方法是对一条数据进行处理的,如果有一万条数据就会和数据库交互一万次所以效率就低。如何提高效率就需要批量操作,如下展示批量插入和批量修改的代码,数据库使用mysql。 1、建表语句 CREATE T
阅读全文
摘要:一、 需要得安装包 (1)IDEA破解版.zip (2)jdk1.8.0_25.7z 获取方式(免费): (1) 登录-注册:http://resources.kittytiger.cn/ (2) 签到获取积分 (3) 搜索:it白话-java开发环境搭建IDEA+jdk1.8 (4) 获取网盘地址
阅读全文
摘要:Stream是Java 8新增的接口,Stream可以认为是一个高级版本的 Iterator。 废话不多说直接上代码 package com.example.demo; import org.junit.jupiter.api.Test; import org.springframework.boo
阅读全文
摘要:调用controller方法,遇到操作时间很长的情况下,不希望前端一直等待操作,而希望前端立马接收到操作启动的反馈,而真正的操作在后端执行,需要用到异步调用的方法。实现步骤如下: 一、配置异步支持: 首先,在应用程序的主类上添加 @EnableAsync 注解,以启用异步支持 import org.
阅读全文
摘要:需求:java读取一个csv文件并将文件内容每行按照","隔开 场景一: 读取1.csv文件:文件内容如下: 1,zhangsan,note2,lisi, 注意:第二行逗号后面没有数据 public static void main(String[] args) { String csvFile =
阅读全文
摘要:开发中遇到需要查询一些表里的数据,这些数据按照一定的规则存放在不同的数据库表里,例如表名是table_name+月份 table_name_2024_05,table_name_2024_04这样,这些表的结构都相同。 网上找了一些动态修改实体对应数据库表名的方法,操作相对复杂而且跟mybatisp
阅读全文
摘要:1创建一个springboot项目引入neo4j的依赖 <!-- neo4j依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-neo4j</arti
阅读全文
摘要:批量插入效率远大于单条数据插入,有事一批数据中有一条数据报错就会导致这一批次数据都插入失败,为了保证数据最大化的插入到数据库中,就需要批量转单条插入,单条插入中遇到错的数据跳过,保证其他数据正确的插入到数据库中。 直接上代码 1、实体类 @TableName(value = "yc_test_t")
阅读全文
摘要:完成Springboot配置发件邮箱,自动给其他邮箱发送邮件功能 一、创建springboot基础项目,引入依赖 <!-- Spring Boot 邮件依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactI
阅读全文
浙公网安备 33010602011771号