
【Java技术】
文章平均质量分 76
java
Mr-Wanter
多看,多想。天底下最无本买卖的事情,就是从别人身上学一个好字。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Jpa 查询报错语法错误 在 “-“ 或附近的
本文记录了使用JPA查询PostgreSQL数据库时因模式名含特殊字符"-"导致的语法错误。通过分析报错信息,发现问题在于@Table注解中schema="g-auth"未转义。解决方案是在模式名"g-auth"前后添加转义双引号,修改为schema=""g-auth""。文章指出不同数据库对特殊字符处理方式不同,MySQL 8.0前版本建议避免使用特殊字符,其他数据库也需相应转义处理。该案例提醒开发者在定义原创 2025-07-03 14:00:39 · 965 阅读 · 0 评论 -
使用 POI-TL 和 JFreeChart 动态生成 Word 报告
在开发过程中,我们经常需要生成包含动态数据和图表的 Word 报告。本文将介绍如何结合 POI-TL 和 JFreeChart,实现动态生成 Word 报告的功能,并分享一些实际开发中的踩坑经验。word生成方案:在之前的文章中,我们已经介绍了如何使用模板替换、复杂表格和图片插入等功能。此次的需求是生成一个包含统计图的 Word 报告,统计图需要根据动态数据生成。面临的主要问题包括:POI 硬编码直接使用 Apache POI 硬编码生成 Word 文档,虽然可行,但代码复杂且难以维护,因此不推荐。Fr原创 2025-02-08 14:24:04 · 1510 阅读 · 0 评论 -
使用 JFreeChart 创建动态图表:从入门到实战
在数据可视化的世界中,图表是展示数据的强大工具。无论是折线图、柱状图还是饼图,它们都能帮助我们更直观地理解数据。在 Java 生态中,JFreeChart 是一个功能强大且灵活的图表库,广泛应用于各种 Java 应用程序中。本文将带你从零开始学习如何使用 JFreeChart 创建动态图表,并结合实际代码示例,让你快速掌握其核心功能。JFreeChart 是一个开源的 Java 图表库,支持多种图表类型,包括:折线图(Line Chart)柱状图(Bar Chart)饼图(Pie Chart)原创 2025-02-08 14:00:19 · 1876 阅读 · 0 评论 -
破解 JPA 复杂 OR 查询之谜
jpa 复杂or查询问题原创 2024-11-28 13:50:41 · 669 阅读 · 0 评论 -
Linux之libreoffice安装
kkfile 依赖libreoffice,这里就一次性学明白libreoffice。LibreOffice 是一款开放源代码的自由免费全能办公软件,可运行于 Microsoft Windows, GNU/Linux 以及 macOS 等操作系统上。它包含了 Writer, Calc, Impress, Draw, Math 以及 Base 等组件,可分别用于文本文档、电子表格、幻灯片演示文稿、绘图文档、数学公式编辑、数据库管理等工作。LibreOffice 支持各种文档格式。转载 2024-11-19 16:26:33 · 7098 阅读 · 0 评论 -
Java 神技:破解经纬度两点距离的终极密码
java 根据经纬度计算两点距离原创 2024-11-12 14:08:05 · 359 阅读 · 0 评论 -
spring boot 接收第三方mq消息
mq 用的很少,简单记录一下。需求:数据提供方采用mq的方式推送数据,我方接收数据后,入库。判断mq是否可以联通。原创 2024-08-16 13:31:01 · 672 阅读 · 0 评论 -
xxl-job 动态创建一次性定时任务
特点:动态创建任务(无法硬编码设置任务。)、任务只执行一次后丢弃。类似预约会议,设置提醒。原创 2024-07-17 09:22:02 · 5053 阅读 · 0 评论 -
easyExcel 不规则模板导入数据
之前分享的EasyExcel 批量导入并校验数据,仅支持规则excel,即首行表头,下面对应数据,无合并单元格情况。模板excel 表头不在首行数据项有合并单元格情况esayexcel版本2.2.7。原创 2024-07-12 11:01:28 · 2208 阅读 · 0 评论 -
freemarker ftl模板 格式、列表、图片
固定内容word生成:freemarker ftl模板动态表格生成:https://blog.youkuaiyun.com/mr_wanter/article/details/126763195原创 2024-05-22 14:28:57 · 3782 阅读 · 0 评论 -
easyexcel 导出报错 java.lang.InternalError: java.lang.reflect.InvocationTargetException
easyexcel 导出报错java.lang.InternalError: java.lang.reflect.InvocationTargetException本地正常服务器导出生成的excel文件没有内容,服务器报错。原创 2024-02-21 16:32:25 · 1839 阅读 · 0 评论 -
关于缓存 db redis local 取舍之道
让我们来聊一下数据缓存,它是如何为我们带来快速的数据响应的。你知道吗,为了提高数据的读取速度,我们通常会引入数据缓存。但是,你知道吗,不是所有的数据都适合缓存,有些数据更适合直接从数据库查询。现在,我们就来一起讨论一下,什么样的数据适合直接从数据库查询,什么样的数据适合从缓存中读取。这将有助于我们更好地利用缓存,提高系统的性能。让我们开始吧!从前的无脑经验,db查询慢,redis缓存起来,redis真不一定快!一个简单性能测试:(测试响应时间均为二次查询的大概时间)原创 2024-01-22 16:22:50 · 776 阅读 · 0 评论 -
初识GroovyShell
项目背景:查询多个表的数据列表和详情,但不想创建过多的po、dao、resp等项目文件。原创 2023-12-13 14:50:52 · 1230 阅读 · 0 评论 -
java 执行linux 命令
java 执行linux 命令;本文模拟复制linux文件到指定文件夹后打zip包后返回zip名称,提供给下载接口下载zip;原创 2023-12-13 09:32:24 · 3011 阅读 · 0 评论 -
java8 常用code
常用语法汇总。原创 2023-12-05 11:58:54 · 1237 阅读 · 0 评论 -
常用封装工具类
一、数字相关工具类1. 保留指定小数位2. 数字转汉字二、获取bean三、分页相关工具类1. 假分页,包含一些自定义类,可根据项目具体封装结构修改2. 分页序号四、时间工具类1. 星期获取2. 时间段耗时计算 [ x时x分 ]五、经纬度距离计算原创 2023-10-24 16:35:09 · 306 阅读 · 0 评论 -
swagger3+nginx访问swagger-config报404问题解决
http://localhost:8888/v3/api-docs/default时报404,本地访问正常。原创 2023-08-17 14:37:33 · 4864 阅读 · 1 评论 -
springboot vue 初步集成onlyoffice
对接onlyoffice,实现文档的预览和在线编辑功能。原创 2023-08-08 10:43:44 · 7205 阅读 · 16 评论 -
阿里巴巴 Java 开发手册部分整理
阿里巴巴 Java 开发手册原创 2023-06-21 16:28:34 · 2102 阅读 · 0 评论 -
EasyExcel 批量导出
上篇写了数据导入,本文补充一下EasyExcel 批量导出包括常规excel和复杂excel原创 2023-06-15 11:58:25 · 4439 阅读 · 2 评论 -
EasyExcel 批量导入并校验数据
EasyExcel 批量导入并校验数据。原创 2023-06-12 11:40:49 · 5524 阅读 · 3 评论 -
由 Direct buffer memory 引发的附件下载优化方案
本地上传大文件内存溢出 Direct buffer memory附件下载服务端传流给前端需要将流缓存完毕才可以下载,导致大文件下载系统崩溃。原创 2023-06-02 10:17:00 · 1379 阅读 · 0 评论 -
springboot X-Accel-Redirect 大文件下载实现
nginx代理附件路径,直接访问。无法控制用户的权限。服务端流式读取文件内容。这个过程需要后端进程将文件读取到内存中然后再发给用户,会造成很大的资源开销。如果你文件较大,可能会超时,并且会占用比较大的内存,当用户下载量很大时有可能造成程序的崩溃。服务端权限控制后通过X-Accel-Redirect 重定向到nginx代理地址。传输快、服务器IO低,但是无法跟踪下载进度。原创 2023-06-02 10:07:09 · 1467 阅读 · 0 评论 -
告警:线上慎用 BigDecimal !
Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。一般情况下,对于那些不需要准确计算精度的数字,我们可以直接使用Float和Double处理,但是Double.valueOf(String) 和Float.valueOf(String)会丢失精度。所以开发中,如果我们需要精确计算的结果,则必须使用BigDecimal类来操作。转载 2023-05-23 17:19:05 · 262 阅读 · 0 评论 -
springboot 读取外部自定义配置文件
springboot 修改外部自定义配置文件,无需重启。原创 2023-05-12 17:12:50 · 679 阅读 · 0 评论 -
springboot 断点上传、续传、秒传实现
springboot 断点上传、续传、秒传实现。保存方式提供本地上传(单机)和minio上传(可集群)本文主要是后端实现方案,数据库持久化采用jpa检查文件块上传进度或秒传根据文件md5查询附件信息表,如果存在,直接返回附件信息。不存在查询分片信息表,查询当前文件分片上传进度,返回已经上传过的分片编号上传分片分片文件上传地址需要保证唯一性,可用文件MD5作为隔离上传后保存分片上传信息。原创 2023-05-10 16:28:24 · 1507 阅读 · 0 评论 -
SpringFox SpringDoc 附件ui展示
swagger 升级V3后发现swagger ui 对附件类型参数无法支持,springfox迁移springdoc后 附件类型参数无法支持。原创 2023-05-05 14:44:19 · 1354 阅读 · 4 评论 -
jackon.date-format 不生效
springboot 默认json 序列化使用jackon 正常配置jackon.date-format=yyyy-MM-dd HH:mm:ss 即可格式化日期格式,但是由于项目引用各种jar和拦截器,导致此配置失效。具体原因不明。该类可以放在底层common包内,这样其他服务引入common即可生效。原创 2023-02-03 09:31:54 · 1225 阅读 · 2 评论 -
分组 后获取创建时间 最新的一条
按纬度统计 但按照数据最新时间作为有效数据进行统计。例如:按今日的月份向前统计共计12个月的不同设备报警核实次数。核实表同一月份同一个设备报警可能被多次核实,但统计只取当前设备报警最后一次被核实作为有效次数。原创 2023-01-19 16:30:06 · 1264 阅读 · 0 评论 -
mapstruct 无法生成字段映射code
MapStruct 是一个 Java 注释处理器,用于生成类型安全的 bean 映射类。您所要做的就是定义一个映射器接口,该接口可以声明任何您所需的映射方法。在编译期间,MapStruct 将生成此接口的实现。这个实现使用普通的 Java 方法调用(get,set方法)来映射源对象和目标对象,而不是使用反射。项目编译后generated-sources\annotations路径下会找到编译后的文件,这里会对两个对象的属性一一set。原创 2022-12-23 12:14:27 · 3220 阅读 · 0 评论 -
jemeter 压测并生成报告
jmeter:是Apche公司使用Java平台开发的一款测试工具。原创 2022-12-14 21:44:24 · 4460 阅读 · 0 评论 -
maven setting 多仓库配置
maven setting 通常公司都有私服地址,但不是所有包私服上都有,这时就要用阿里云或者其他地址去拉包。那么我们可以直接设置setting 使其拉包时第一个地址拉取不到自动到第二个地址拉取以此类推可设置多个仓库地址进行补充。原创 2022-12-13 16:42:38 · 7161 阅读 · 0 评论 -
Spring Boot 对接口入参出参加密解密 注解版
根据需求可采用不同的接口加密方案全局拦截器,可定制接口规则局部拦截注解拦截,只对需要加密的接口进行加密。原创 2022-10-24 09:03:23 · 2413 阅读 · 0 评论 -
【java】poi-tl 1.9.1 word模板插入文本及动态复杂表格
word生成是较为常见的功能,通常解决方案有freemarker、poi-tl等。一般常规的word模板替换可采用第三方封装好的工具实现。本文涉及动态复杂表格的插入,最好还是采用poi-tl。poi-tl版本差异性较大,如果被版本束缚,较难找到对应版本的copy代码,这时候可以参考其他版本再对照自己版本的jar包文件来对应实现。poi版本差异较大,很难拿来即用。table样式RowRenderData的构建方式。合并单元格。原创 2022-09-08 14:39:41 · 7636 阅读 · 2 评论 -
Java 各类乱码类型及产生原因
乱码类型及产生原因鐢辨湀瑕佸ソ濂藉涔犲ぉ澶╁悜涓?����Ҫ�¨²�ѧϰ������由月è¦�好好å¦ä¹ ÓÉÔÂÒªºÃºÃѧϰÌìÌìÏòÉÏ由月要好好学习天天向??锟斤拷锟斤拷要锟矫猴拷学习锟斤拷锟斤拷锟斤拷...转载 2022-06-14 08:49:09 · 12137 阅读 · 0 评论 -
poi 读取word内容转html在线预览
文章目录前言一、java代码实现二、坑爹问题1.找不到方法2.NoSuchMethodError getPackageRelationship3.中文乱成这样,是什么鬼前言word内容预览步骤:word 数据读取word 内容数据格式保留注:本篇word基于2007 docx格式(doc格式没写),且文件保存地址为minio服务器。一、java代码实现 public String perviewDocx(String bucket, String objectName) throw原创 2022-04-15 16:11:13 · 2371 阅读 · 2 评论 -
== 和 equals
@TOC1. 比较原理== 比较的是内存地址equals比较的是值首先我们来了解一下JVM内存区结构:java把内存分两种:一种是栈内存,另一种是堆内存(1) 在函数中定义的基本类型变量和对象的引用变量都在函数的栈内存中分配;(2) 堆内存用来存放由new创建的对象和数组以及对象的实例变量。在函数(代码块)中定义一个引用变量时,java就在栈中为这个引用变量分配内存空间,当超过引用变量的作用域后,java会自动释放掉为该变量所分配的内存空间;在堆中分配的内存由java虚拟机的自动垃原创 2022-03-26 12:06:27 · 600 阅读 · 0 评论 -
lambda stream表达式字符串排序问题
文章目录基本用法总结基本用法@Data@Builderclass Student{ //学号 private String num; //姓名 private String name;}public class Test { @org.junit.Test public void Test1(){ List<Student> stu = new ArrayList<>(); stu.a原创 2022-02-10 16:50:06 · 4693 阅读 · 2 评论 -
logback的使用和logback.xml详解
文章目录一、logback的介绍二、logback取代log4j的理由三、logback的配置介绍3.1 Logger、appender及layout3.2 logger context3.3 有效级别及级别的继承3.4 打印方法与基本的选择规则四、logback的默认配置五、logback.xml常用配置详解5.1 根节点configuration5.2 子节点contextName5.3 子节点property5.4 子节点timestamp5.5 子节点appender5.6 子节点logger5.7转载 2022-02-09 11:11:11 · 4384 阅读 · 0 评论 -
JPA实体的四种状态
文章目录JPA中的实体对象拥有四种状态:一、瞬时状态二、托管状态三、游离状态四、删除状态JPA中的实体对象拥有四种状态:瞬时状态(transient)托管状态(persistent)游离状态(detached)删除状态 (deleted)一、瞬时状态瞬时状态的实体就是一个普通的java对象,和持久化上下文无关联,数据库中也没有数据与之对应。二、托管状态使用EntityManager进行find或者persist操作返回的对象即处于托管状态,此时该对象已经处于持久化上下文中,因此任转载 2022-02-07 13:58:27 · 3366 阅读 · 0 评论