摘要:1.自定义sql拦截器(注意:Executor是org.apache.ibatis.executor.Executor包下的,不要导错了) import cn.hutool.core.util.ObjectUtil; import lombok.extern.slf4j.Slf4j; import
阅读全文
摘要:1.问题 我们在内存中处理排序时,虽说有了stream流,好多了,但是总是拖好长一堆尾巴,感觉不太优雅,null as last也需要单独处理,现在有了hutool中的工具类,这个问题就有了更好的解决方案。 2.案例 List<User> userList = new ArrayList<>();
阅读全文
摘要:SpringBoot3集成sqlite 1.引入pom.xml <dependencies> <dependency> <groupId>org.xerial</groupId> <artifactId>sqlite-jdbc</artifactId> <version>3.34.0</versio
阅读全文
摘要:如何使用jvisualvm排查OOM问题? 1.打印堆日志 1.启动时添加jvm参数(推荐) 在启动参数中加入下面的参数,这样会在系统OOM的时候自动打印dump文件,一般生成在项目根目录下,名字一般叫java_pid4545.hprof。 -XX:+HeapDumpOnOutOfMemoryErr
阅读全文
摘要:1.如何判断一个Object对象不为(null,"null","")? 2.方案 使用hutool中的ObjUtil Object acctNo = null; acctNo = inputJson.getByPath("$.acctNo"); //ObjUtil.isNotNull(acctNo)
阅读全文
摘要:一、格式说明 %-: "-"号指信息输出时左对齐 %p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL %d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy-MM-dd HH:mm:ss.SSS},输出类似:2024
阅读全文
摘要:1.前提 资料大多说的都是2.3.x,实际亲测,spring-boot-starter-parent支持健康探针的最低版本是2.3.3.RELEASE。为什么要集成健康探针?健康探针通常包括 存活探针(Liveness Probe) 和 就绪探针(Readiness Probe),用于检查应用容器的
阅读全文
摘要:1.错误信息 org.apache.catalina.connector.ClientAbortException: java.io.IOException: Broken pipe at org.apache.catalina.connector.OutputBuffer.realWriteByt
阅读全文
摘要:在HTTP客户端编程中,通常涉及以下几种关键的超时设置: 连接超时 (connectTimeout): 定义:在与服务器建立连接时等待的最大时间。这包括DNS解析时间、连接建立时间等。 作用:如果在指定的时间内无法建立连接,抛出异常(如 SocketTimeoutException)。 用途:用于防
阅读全文
摘要:1.问题 List<List<Object>> splitList = CollUtil.split(dataList, 800); List<User> resultList =new ArrayList<>(); // 使用parallelStream输出切割后的结果,每个子列表的大小 spli
阅读全文
摘要:解决null值字段不更新的问题 1.问题 我的MP版本是3.3.2,用Mybatis-Plus的updateById()来更新数据时,无法将字段设置为null值(更新后数据还是原来的值)。 2.分析 默认情况下,Mybatis-Plus在更新时会判断字段是否为null,如果是null,则不设值(不将
阅读全文
摘要:1.查看慢日志是否开启 mysql> show variables like 'slow_query%'; + + + | Variable_name | Value | + + + | slow_query_log | OFF | | slow_query_log_file | /mysql/da
阅读全文
摘要:1.问题描述 项目中经常遇到这样的问题,有个查询条件是日期,或者日期范围,但是数据库一般存的是日期时间,想要查询,肯定要做格式化后再比较。不使用MybatisPlus的时候,一般都用Mysql的Tochar进行处理,使用MybatisPlus的时候,有没有更优雅的写法呢? 2.解决方案 注意:bet
阅读全文
摘要:1.背景 项目中遇到这样的情况,编辑的时候需要修改发布状态为未发布,但是如果不做控制的话,内容没发生变化,点了编辑,仍然修改了状态。因此,需要对前端提交的编辑对象和数据库中的对象进行对比,如果没变,就直接返回“内容未发生改变”。 2.代码 MD5加密后的长度是32位,对同一个内容每次加密后的结果是相
阅读全文
摘要:1.新增 @PostMapping("/add") public R<Boolean> insert(@RequestBody BusinessCustomer businessCustomer) { return add(this.businessCustomerService.save(busi
阅读全文
摘要:方法一 Controller中注入service的时候使用@Autowired自动注入,@Qualifier("beanId")来指定注入哪一个。 方法二 Controller中注入service的时候使用@Resource(type = 类名.class)来指定注入哪一个。 #方法三 每个serv
阅读全文
摘要:一、前置知识: maven项目打包参考连接:https://www.cnblogs.com/hujunwei/p/16381945.html 二、自定义starter 1.命名规范 自定义的Starter官方建议:叫xxx-spring-boot-starter。 2.新建maven项目,结构如下
阅读全文
摘要:1.新建一个空的maven项目 2.pom文件中只添加需要的maven坐标,并编写自己的GAV坐标 3.在src下的java目录下新建自己的域名目录,编写工具类代码,或实体类代码 4.使用idea右面的maven插件,或者使用控制台mvn手动打包,install或上传到私服 5.在新项目中就可以通过
阅读全文
摘要:Docker安装FastDFS 1.搜索镜像 docker search fastdfs 2.下载镜像 docker pull delron/fastdfs 3.创建Tracker容器 # tracker服务的默认端口为22122 docker run -d --name tracker --net
阅读全文
摘要:1.引入pom依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.8</version> </dependency> 2.常用注解 2.1 @ExcelPrope
阅读全文