SqlSession
发表于|更新于
|浏览量:
被温柔对待以后,自己也想变得温柔。——《夏目友人帐》。
参照我这个PR
在Mybatis中SqlSession类比于我们在使用原生jdbc时的Connection对象,用完需要释放。。。
我之前写的忘记释放了,导致druid监控到大量连接未释放,连接池经常占满
所以改成这种方式了

我们使用后一定要调用SqlSession#close释放连接。。。
血的教训啊,因为忘记释放导致连接池泄露,愈发让我明白自己写代码还有很多要学
相关推荐
2022-07-20
反射获取声明泛型工具类
和上帝一样聪明,和天才一样幼稚。——巴尔扎克《奥诺丽纳》 工具类: 1234567891011121314151617public static Type[] getGenericTypes(Type paramType) { Type type; for (type = paramType; type instanceof Class; type = ((Class<?>) type).getGenericSuperclass()) { if (Object.class.equals(type)) { Type[] genericInterfaces = ((Class<?>) type).getGenericInterfaces(); if (genericInterfaces.length > 0 && Objects.nonNull(genericInterfaces[0])) { ...
2021-09-26
自定义注解和AOP
生命不可能有两次,但许多人连一次也不善于度过——吕凯特 我们写一个注解用AOP去实现接口的访问记录,这个也可以用于日志记录等地方 12345678910111213141516import java.lang.annotation.*;/** * 记录 * * @author <achao1441470436@gmail.com> * @since 2021/7/29 11:28 */@Inherited@Documented@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface WithMe { String value();} 然后在AOP中这样写 123456789101112131415161718192021222324252627282930313233import lombok.extern.slf4j.Slf4j;import org.aspectj.lang.JoinPoint;import org.aspectj....
2023-05-16
使用arthas+mat排查故障
情操要高尚!成为我们真正荣誉的,是我们自己的心,而不是他人的议论。——席勒 今天发现线上CPU又百分百了。。。 于是开始使用arthas排查 12curl -O https://arthas.aliyun.com/arthas-boot.jarjava -jar arthas-boot.jar 然后选择对应的web项目 首先我执行了dashboard命令 发现heap为百分之九十几的占用,那我直接执行 1heapdump --live /tmp/dump.hprof 然后下载到本地,再下载一个MAT(Memory Analyzer Tool)进行分析 下载地址:https://www.eclipse.org/mat/downloads.php 我们解压,打开(需要配置java17环境变量)后点击Open Heap Dump 然后选择我们的hprof文件 然后报错 点击Details >>才发现原来是内存不足,我们设置下内存大小 打开MemoryAnalyzer.ini,修改-Xmx1024m为合适的大小 这里点击Histogram查看对象占用 发现f...
2023-11-03
open-feign自定义反序列化decoder
人受谏,则圣。木受绳,则直。金就砺,则利。——孔子 主要是解决map类型擦除的问题,GlobalResponse继承了Map 代码如下: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465import cn.hutool.core.util.TypeUtil;import com.fasterxml.jackson.core.type.TypeReference;import com.fasterxml.jackson.databind.JsonNode;import feign.RequestTemplate;import feign.Response;import feign.Util;import feign.codec.DecodeException;import feign.codec.Decoder;import feign.codec.EncodeException;imp...
2025-04-17
Fabric
如果不忘记许多,人生无法再继续。——巴尔扎克 我的世界 Fabric 模组开发入门指南Fabric 是 Minecraft 的一个轻量级模组加载器和 API,它为开发者提供了一个灵活的开发环境,同时对游戏性能的影响较小。在这篇博客中,我们将介绍 Fabric 的基本概念、如何搭建开发环境,以及创建一个简单的自定义模组。 什么是 Fabric?Fabric 是一个专为 Minecraft 设计的模组加载器,与 Forge 相比,它更加轻量、快速,并且支持快速的更新和版本迭代。对于想要为 Minecraft 添加自定义功能的玩家和开发者,Fabric 是一个非常不错的选择。 Fabric 的特点包括: 轻量化:对游戏性能的影响较小。 快速更新:通常会在 Minecraft 的新版本发布后迅速支持。 模块化 API:开发者可以选择性地加载所需的功能模块。 强大的社区支持:拥有丰富的文档与教程。 开发环境搭建在开始开发之前,你需要先搭建一个基础的开发环境。以下是搭建 Fabric 开发环境的步骤: 1. 安装必要的软件 Java 开发工具包(JDK):推荐使用 JDK 17。...
2023-02-27
mp对象集合in查询
太重视名誉正是一般人最常犯的错误——叔本华 分享自己写的一个函数: 1234567891011121314151617@Testvoid testWhereRelation() { LambdaQueryWrapper<UserInfo> wrapper = Database.inList(Wrappers.lambdaQuery(UserInfo.class), Lists.of(new UserInfo() {{ setName("Jon"); }}, new UserInfo() {{ setEmail("test2@baomidou.com"); }}, n...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog