java 异常之Cause: org.apache.ibatis.executor.ExecutorException: Executor was closed

2023-05-16

文章目录

    • 1. 背景:
    • 2. 源代码
    • 3. 解决办法

1. 背景:

在使用mybatis框架的时候,我们都需要初始化一个Sqlsession来执行数据库操作。一般建议最好不要把Sqlsession初始化成一个全局对象,尤其不要是static。因为sqlsession本质上是一个connection,是需要进行close()的,所以不管是声明为全局变量还是说定义为static,一旦有一个地方close了之后,那么再去使用这个事先定义好的sqlsession之后,就会导致下面的异常Error querying database. Cause: org.apache.ibatis.executor.ExecutorException: Executor was closed.

2. 源代码

举例现在我们通过sqlSession执行一个update操作,那么默认执行的是DefaultSqlSession中的update方法
在这里插入图片描述

然后我们进入到executor的一个基类BaseExecutor
在这里插入图片描述

可以看到,在执行真正的doUpdate方法之前,会先判断当前executor是否已经close,如果是,那么就抛出ExecutorException(“Executor was closed.”)异常。

3. 解决办法

因为sqlSession可以理解为是一个connection的封装,所以最好在代码层面实现为用的时候局部初始化,用完finally close

当然我们创建sqlSession的SqlSessionFactory就不需要初始化多次了,因为SqlSessionFactory可以理解为数据库配置镜像,全局一次即可

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java 异常之Cause: org.apache.ibatis.executor.ExecutorException: Executor was closed 的相关文章

随机推荐

  • 在失望中重找希望——我的2013年工作总结

    时间过的真的是快 来广州已整整工作了一年啦 从2012年长沙工作离职后 为了我的女朋友 我毅然踏上了南下广州的征途 来到羊城后 很快 xff0c 一个礼拜就找到了现在工作的这家公司 现在回想一下 真觉得当初没有好好斟酌一下 2013年里 x
  • ubuntu root开机自登录 与 ros 节点自启

    1 systemctl命令及开机自启 新建a sh文件 放入 cd etc vim a sh xff01 usr bin env bash bash c 34 source opt ros melodic setup bash amp am
  • (原创)详解Glide图片加载库常用方法

    前言 Glide作为安卓开发常用的图片加载库 xff0c 有许多实用而且强大的功能 xff0c 那么 xff0c 今天就来总结一番 xff0c 这次把比较常见的都写出来 xff0c 但并不是全部哦 在介绍之前 xff0c 先来说说什么是Gl
  • 如何将本地windows文件复制到远程windows服务器

    如何使用windows自带的远程桌面连接程序将文件复制到远程服务器内 运行中输入mstsc xff0c 点击确定 输入服务器的IP和端口 xff0c 点击右下角的选项 然后点击本地资源选项卡 点击详细信息按钮 此时勾选你所要连接到服务器上的
  • 强国的语言与语言强国

    强国的语言与语言强国 作者 xff1a 教育部语言文字信息管理司司长 教育部语言文字应用研究所所长 中国社会科学院研究生 李宇明 理论上语言是一律平等的 xff0c 现实中语言是有强有弱的 语言的强弱与语言所属社团的强弱盛衰呈正相关 古罗马
  • 前端post请求报400错误

    前端post请求报400错误 发布时间 xff1a 2019 06 05 18 28 54 400的错误是由于发送请求参数没有成功 原因 xff1a 参数名称类型没有对上 xff1b 或者参数格式不正确 参数格式不正确 xff0c 解决方法
  • Redis集群及其中间遇到的坑

    Redis集群 集群准备 下载并解压Resis xff1a wget http download redis io releases redis 4 0 0 tar gz进入Redis目录下make amp amp make install
  • springmvc的相关配置文件

    最近自己搭了一个小的spring 43 springmvc 43 mybatis的秒杀相关的小工程 xff0c 下面跟大家分享一下 xff0c 用到的配置文件是怎么配置的 xff0c 供参考 我把相关的说明都放在注释中 xff0c 方便阅读
  • C++实现经典同步问题(生产者消费者、读者写者、哲学家进餐、吸烟者问题)

    一 生产者 消费者问题 环境 xff1a windows 问题描述 xff1a 一组生产者进程和一组消费者进程共享一个初始为空 大小为 的缓冲区 xff0c 只有缓冲区没满时 xff0c 生产者才能把消息放入缓冲区 xff0c 否则必须等待
  • token和cookie的区别

    HTTP协议本身是无状态的 xff0c 所以需要一个标志来对用户身份进行验证 1 cookie 用户登录成功后 xff0c 会在服务器存一个session xff0c 同时发送给客户端一个cookie xff0c 这个cookie里面有唯一
  • 在 Vmware 上使用 VxWorks5.5

    Vmware上使用VxWorks5 5 前言 xff1a 1 创建工程 xff1a 可加载工程 xff1a 可引导工程 xff1a 1 5 虚拟机配置 xff1a 2 运行程序 xff1a 前言 xff1a 因为工作中需要用到vxworks
  • virtualbox使用3-配置网络

    终于到正题了 xff0c 哈哈 xff0c 开始的动机就是把如何配置网络记下来 xff0c 省得下次或者日后又要到处搜 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61
  • 安卓集成Google Play支付(谷歌支付)最新版本

    Google Play 支付文档 xff1a https developer android com google play billing integrate Google Play 支付库已经升级到5 0了 xff0c 相对之前的版本有
  • 实现Winserver2012开机不输入密码直接进入系统

    因为我用的服务器是winserver2012的系统 xff0c 有些朋友设置了用户密码又不想开机的时候输入 xff0c 怎么办呢 xff1f 首先同时按下 Windows 43 R 快捷键调出运行命令窗口 或者在开始菜单的所有程序的附件中找
  • (原创)介绍一个优秀的图片压缩库Compressor

    我们在做项目的时候 xff0c 有时候需要在界面展示一张较大的图片 这时候我们应该想到两点 1图片是否能够缓存 2图片是否能够压缩 做到了缓存和压缩 xff0c 才能尽可能低减少内存的负荷 xff0c 增强app的流畅度 最近在了解这方面的
  • 敏捷开发:做一个合格的Scrum Master

    图片来源于网络 Scrum Master Beauty and Beast 在Scrum敏捷开发中有三种主要的角色 xff1a Product Owner xff08 产品负责人 xff0c 简称 34 PO 34 xff09 Scrum
  • Peer cert cannot be verified or peer cert invalid 尝试其他镜像。

    vim etc yum conf 文件后追加sslverify 61 false
  • CentOS-Base.repo yum配置文件

    span class token punctuation span baiyun 64 hd102 yum repos d span class token punctuation span span class token functio
  • 【2023版】超详细Python+Pycharm安装保姆级教程,Python环境配置和使用指南,看完这一篇就够了

    这两年被Python初学小白问到最多的问题就是 xff0c 该用什么代码编辑工具 xff1f 说实话 xff0c 我个人是用Jupyter Notebook最多 xff0c 主要是经常做数据可视化 xff0c 方便些 但对于初学者来说 xf
  • java 异常之Cause: org.apache.ibatis.executor.ExecutorException: Executor was closed

    文章目录 1 背景 xff1a 2 源代码3 解决办法 1 背景 xff1a 在使用mybatis框架的时候 xff0c 我们都需要初始化一个Sqlsession来执行数据库操作 一般建议最好不要把Sqlsession初始化成一个全局对象