自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 springboot中如何使用策略模式干掉if—else

springboot中如何使用策略模式干掉if—else常见if-else案列public class OrderServiceImpl implements OrderService {@Overridepublic String handle(OrderDTO dto) { String type = dto.getType(); if ("1".equals(type...

2019-11-08 19:01:58 807

原创 stringboot + jedis + redis实现分布式锁

pom.xml配置<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version></dependency><depen...

2018-09-21 18:51:00 250 3

原创 JSON字符串多类型数据清洗

【代码】JSON字符串多类型数据清洗。

2025-08-07 09:43:15 104

原创 git stash 暂存文档

我们经常会遇到这样的情况:在开发过程中,在一个分支开发新的功能,还没开发完毕,做到一半时有反馈需要处理紧急bug,但是新功能开发了一半又不想提交。这时就可以使用 git stash ,stash 就是为此而生的!

2025-08-05 11:00:08 119

原创 SQL执行计划分析的时候,要关注哪些信息?

【代码】SQL执行计划分析的时候,要关注哪些信息?

2025-07-17 13:35:32 90

原创 springboot+easyexcel 2.2.6版本,动态导出表头excel

Java动态Excel导出工具实现方案 摘要:本文展示了一个基于Java的动态Excel导出工具实现,包含三个核心组件:1) User实体类定义数据模型,支持BigDecimal数值格式化;2) ExportConfig配置类定义导出字段映射;3) DynamicExcelExporter核心导出类,使用EasyExcel实现动态表头构建、数据转换和响应头设置。该工具支持自定义字段映射、数值/日期格式化(如保留4位小数)、自动列宽调整和样式策略(包括表头背景色和字体设置),并通过缓存机制提高反射性能。

2025-07-16 10:48:59 138

原创 GIT已经push到远程仓库,如何修改commit msg

强推的命令: git push --force origin <branch-name>填写完成后要修改的信息后,直接强制推送。

2025-06-16 17:00:22 211

原创 根据不同的配置导出不同的excel表头,兼容easyExcel导出

本文介绍了基于EasyExcel实现动态表头导出的改造方案。原有功能使用固定的DTO对象进行Excel导出,现需针对白名单客户支持动态表头配置。改造方案通过ColumnOverride类管理字段覆盖配置,使用DynamicHeaderBuilder构建动态表头,DataConverter处理数据转换,ExcelResponseHeaders设置响应头。系统会先检查客户是否为白名单,若是则根据配置生成动态表头(如修改"累计成本"和"累计收益"字段名),否则沿用原有导出逻

2025-05-27 10:27:07 353

原创 【代码】10W+ 数据导出excel,根据表头动态导出单个excel,多个excel到处压缩包

【代码】10W+ 数据导出excel,根据表头动态导出单个excel,多个excel到处压缩包

2025-04-10 16:59:40 140

原创 git修改已经push的commit的message

git修改已经push的commit的message

2025-04-07 14:15:07 312

原创 easyexcel 2.2.6版本导出excel模板时,标题带下拉框及其下拉值过多不显示问题

直接用easyexcel 导出,会出现下拉框的值过多,导致生成出来的excel模板无法正常展示下拉功能。需求背景:有一个需求要做下拉框的值有100多条,同时这个excel是一个多sheet的导入模板。

2025-02-20 17:27:16 680 1

原创 Mybatis中 #{} 和 ${} 的区别是什么?

Mybatis中 #{} 和 ${} 的区别是什么?

2024-09-27 16:21:20 286

原创 Mybatis 9种动态 sql 标签使用

MyBatis提供了9种动态SQL标签:trim、where、set、foreach、if、choose、when、otherwise、bind;

2024-09-27 16:16:53 587

原创 mysql触发器

mysql触发器

2023-01-04 14:27:12 329

原创 Java8关闭流使用try with resource关闭资源的理解

Java8关闭流使用try with resource关闭资源的理解

2022-11-18 14:52:48 2978

原创 IDEA使用Revert Commit进行代码回退

IDEA使用Revert Commit进行代码回退

2022-11-18 09:46:35 5573

原创 springboot生成图片并在图片上添加字体进行换行

springboot生成图片并在图片上添加字体进行换行

2022-11-17 10:47:36 1424

原创 springboot+poi 解析excel 按坐标取值

springboot+poi 解析excel 按坐标取值

2022-11-08 10:22:30 1248

原创 springboot整合freemarker根据模板导出excel

springboot整合freemarker根据模板导出excel

2022-11-08 10:01:35 997

原创 Spring中过滤器(Filter)和拦截器(Interceptor)的区别和联系

Spring中过滤器(Filter)和拦截器(Interceptor)的区别和联系

2022-10-28 10:16:06 314

原创 @TransactionalEventListener 事务事件监听进行业务解耦

@TransactionalEventListener 事务事件监听进行业务解耦

2022-10-27 10:34:13 3472

原创 java + jfreechart + itextpdf创建折线图饼图并导出为pdf

java + jfreechart + itextpdf创建折线图饼图并导出为pdf

2022-07-13 10:19:30 2876

原创 mybatis plus 常用方法总结

mybatis plus 常用方法总结

2022-07-04 10:14:34 423

原创 springboot+mybatis plus实现数据权限,在分页之前拦截sql进行修改

springboot+mybatis plus实现数据权限,在分页之前拦截sql进行修改

2022-06-22 14:00:34 2198 2

原创 springboot整合freemarker根据模板导出word,pdf,以及word转pdf,读取工程resources下的模板文件,并导出压缩包zip

springboot整合freemarker根据模板导出word,pdf,以及word转pdf,读取工程resources下的模板文件,并导出压缩包zip

2022-06-10 15:53:21 1676

转载 好用的Java工具类

好用的java工具类

2022-06-06 14:26:48 730

原创 常用脱敏小工具

import org.apache.commons.lang.StringUtils;public class commonUtil { /** * 只显示第一个汉字,其他隐藏为2个星号<例子:李**> * * @param fullName * @param index 1 为第index位开始脱敏 * @return */ public static String left(String fullNam.

2022-05-11 11:12:30 712

转载 Spring Boot + MDC 实现全链路调用日志跟踪,这才叫优雅

1、简介:MDC(Mapped Diagnostic Context,映射调试上下文)是log4j、logback及log4j2提供的一种方便在多线程条件下记录日志的功能。MDC可以看成是一个与当前线程绑定的哈希表,可以往其中添加键值对。MDC 中包含的内容可以被同一线程中执行的代码所访问。当前线程的子线程会继承其父线程中的 MDC 的内容。当需要记录日志时,只需要从 MDC 中获取所需的信息即可。MDC 的内容则由程序在适当的时候保存进去。对于一个 Web 应用来说,通常是在请求被处理的最...

2022-03-14 09:47:58 754

原创 mysql 乐观锁和悲观锁(排他锁)的使用及实现

悲观锁(排他锁)FOR UPDATEselect * from 'table' where id = 1 for updatefor update仅适用于InnoDB,且必须在事务块(BEGIN/COMMIT)中才能生效。在进行事务操作时,通过“for update”语句,MySQL会对查询结果集中每行数据都添加排他锁,其他线程对该记录的更新与删除操作都会阻塞。排他锁包含行锁、表锁。select * from 'table' where id = 1 for update 与普通查询不一样的是

2021-08-23 10:02:47 1972

原创 工具类,静态方法注入bean

package com.manager.utils;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;import org.springframework.st.

2021-06-16 16:40:21 558

原创 对象拷贝,字段名称不一致的对象拷贝

**创建自定义注解**import java.lang.annotation.Documented;import java.lang.annotation.Retention;import java.lang.annotation.Target;import static java.lang.annotation.ElementType.*;import static java.lang.annotation.RetentionPolicy.RUNTIME;/*** 不同对象不同key..

2021-06-10 17:08:50 1178

原创 less命令搜索日志步骤

wc -l service.log 查看文件行数查看app.log日志500行tail -500f app.logtail

2021-06-10 16:56:23 1629 1

原创 StringRedisTemplate实现分布式锁

public class RedisLock { private static final Long RELEASE_SUCCESS = 1L; private static final String LOCK_SUCCESS = "OK"; private static final String SET_IF_NOT_EXIST = "NX"; private static final String SET_WITH_EXPIRE_TIME = "EX"; pri.

2021-06-02 15:53:23 1956

原创 windows修改git账号密码

当git的账号变更时,会导致无法连接git服务器1.win + r打开命令行窗口2.输入control3.点击"用户账户"4.凭据管理=》windows凭据

2021-05-21 17:14:41 1175

原创 mybatis的if判断integer的小知识点,integer a=0

integer a = 0;<if test="a != null and a != '' and a== 0"> </if>你会发现这个条件永远不会成立,因为mybatis的if将0认为是'',所以这样判断是无法进入条件的,将数字换为1,2之类的就可以了;...

2021-04-27 11:22:30 500

原创 Java8 Stream使用flatMap合并List

@Testpublic void mergeMapValuesTest(){ Map<Integer, ListContainer> map = Maps.newHashMap(); List<AClass> aClassList1 = Lists.newArrayList(); AClass aClass = new AClass(1, "zhuoli1", "haha1"); aClassList1.add(aClass); aClass...

2021-04-23 19:11:06 600

原创 idea安装easy-api插件生成yapi文档

一、安装idea插件二、创建.easy.api.config配置文件,注意该配置文件和.idea文件夹同级文件名称:.easy.api.config文档内容:# [email protected]#[email protected]#[email protected]

2021-04-16 17:56:55 3931 1

原创 父线程变量需要传递到子线程使用一种方式InheritableThreadLocal和TransmittableThreadLocal

一、使用场景ThreadLocal是相对于每一个线程自己使用的本地变量,没有使用到子线程的时候可以用ThreadLocal有这样的一种需求:父线程生成的变量需要传递到子线程中进行使用。使用到子线程但是没有用到线程池,这个时候可以用InheritableThreadLocal,因为InheritableThreadLocal的使用利用Thread 的初始化使用线程池的方式这个时候就需要TransmittableThreadLocal登场来解决。二、案例public class Loc

2021-04-16 11:28:09 616

原创 mysql时间不对,修改时区

一:在非root权限下,进入root权限下 sudo su source /etc/profile mysql -u root -p show variables like "%time_zone%"; EST 为美国时间setglobaltime_zone="+8:00";selectnow();如果不起作用,重启mysqlservicemysqlrestartselectnow();...

2021-03-26 11:10:53 943

原创 liunx命令查看redis存储的内容

一、先找到redis二、进入rediscd redis-5.0.5/三、如果有密码,输入密码认证auth passworld四、选择库select 1 :查询第一个库keys * :查看所有的key五、查看内容get key :查看key对于值...

2021-01-21 09:37:36 11560

空空如也

空空如也

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

TA关注的人

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