mybatis如果不配置,默认超时时间是不做限制的。当系统慢sql很多时,势必会增加数据库压力,系统性能及稳定性降低。所以有必要要设置sql超时设置,下面配置超时时间是5分钟。

第一步:全局配置如下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD  Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- 全局超时配置,300表示sql执行时间超过5分钟时,报错 -->
<configuration><settings><setting name="defaultStatementTimeout" value="300" /></settings>
</configuration>

第二步:在sqlSessionFactory引入该配置

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource" /><property name="mapperLocations" value="classpath*:config/mybatis/**/mapper_*.xml" /><!-- 引入mysql的全局配置,超时,缓存等 --><property name="configLocation" value="classpath:config/mybatis/mysql.xml" />
</bean>
<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate"><constructor-arg index="0" ref="sqlSessionFactory" />
</bean>

上面的配置,后面所有通过 sqlSessionTemplate的查询都是有超时限制的。如果时间超过5分钟就会报错。报错信息为Statement cancelled due to timeout or client request。

当然对于个别情况,有的sql需要执行很长时间或其他的话,可以对单个sql做个性化超时设置。

在mapper xml文件中对具体一个sql进行设置,方法为在select/update/insert节点中配置timeout属性,依然是以秒为单位表示超时时间并只作用于这一个sql

<select id="queryList" parameterType="hashmap" timeout="10000">

转载于:https://www.cnblogs.com/qin-derella/p/6128598.html

mybatis配置sql超时时间相关推荐

  1. Sql超时时间已到,在操作完成之前超时时间已过或服务器未响应。

    随着数据库数据的不断增大,查询时间也随之增长.而客户端与数据库连接时间以及命令的执行时间都是有限的.默认为30s. 所以在查询数据的时候,程序会出现 "超时时间已到.在操作完成之前超时时间已 ...

  2. 2个区别搞懂web.xml配置Session超时时间

    为单个Web应用 配置超时时间可以在web.xml中使用<session-config>元素,如 <web-app> <!–filter.listener,servlet ...

  3. Springboot mybatis 配置sql日志打印

    1.方式一 ######################################################## ###配置打印sql ########################## ...

  4. MyBatis 配置sql语句输出

    版权声明:本文为博主原创文章,未经博主允许不得转载. 此处使用log4j,加入jar包,然后在src路径下加入:log4j.properties文件 填入以下配置就可以打印了 [plain]view ...

  5. sql 超时时间已到.在操作完成之前超时时间已过或服务器未响应.,sqlserver Timeout 时间已到。在操作完成之前超时时间已过或服务器未响应...

    Linux 磁盘挂载和mount共享 针对Linux服务器的磁盘挂载mount和共享做简单操作说明: 1.  查看已使用的磁盘情况 df –h 2.  查看所有磁盘 fdisk –l 3.  查看指定 ...

  6. Hystrix全局配置默认超时时间

  7. Feign客户端 - 超时时间配置

    Spring Cloud中Feign客户端是默认开启支持Ribbon的,最重要的两个超时就是连接超时ConnectTimeout和读超时ReadTimeout,在默认情况下,也就是没有任何配置下,Fe ...

  8. 【MyBatis笔记】02-MyBatis配置SQL打印

    MyBatis 配置SQL打印 在 SqlMappingConfig.xml 中配置以下代码: <!--配置sql打印--> <settings><setting nam ...

  9. SpringCloud的各种超时时间配置效果

    1. 前言(以下的springcloud版本是Dalston.RC1) Springcloud框架中,超时时间的设置通常有三个层面: 1) zuul网关 用指定 url 进行路由时,使用下面的方式 # ...

  10. spring事务中的超时时间很多人都不理解

    在spring中如何使用事务是一个很大的问题,其中有一个我需要在这篇文章中着重讲解一下,就是spring事务中的超时时间问题,很多同学不知道如何才能是这个超时时间生效,导致在使用过程中出现各种各样的问 ...

最新文章

  1. 二手车电商很热?其实都是平台在自嗨!
  2. 可以在手机里运行的Detectron2来了:Facebook官方出品,支持端到端模型训练、量化和部署...
  3. 【Android APT】注解处理器 ( 根据注解生成 Java 代码 )
  4. 125.数据传输方式
  5. Python进阶05 循环设计
  6. 如何使用bootstrap实现轮播图?
  7. leetcode511. 游戏玩法分析 I(SQL)
  8. 《DeepLearning.ai 深度学习笔记》发布,黄海广博士整理
  9. 出现ESXi系统无法连接FreeNAS的情况?90%以上的人都做错了!
  10. 去见你喜欢的人,去做你想做的事
  11. (六)mybatis-spring集成完整版
  12. Lenovo System x 硬件Windows Server驱动下载
  13. 高中数学函数思维导图的绘制方法分享
  14. stm32与计算机串口通信,STM32串口通信协议
  15. 如何快速裁剪pdf中的页面
  16. 微软应用商店打不开代码代码: 0x80131500
  17. 使用Mono.Cecil改变访问级别
  18. BZOJ1023 [SHOI2008]仙人掌图
  19. 使用Python,OpenCV获取、更改像素,修改图像通道,剪裁ROI
  20. HDOJ 1814 Peaceful Commission

热门文章

  1. C#编码应注意的事项
  2. 使用Java 自身Timer API实现定时器的方法
  3. C#: WinForm系列——DataGridView单元格文本自动换行
  4. Python 参数解析(getopt模块)
  5. C++11 非成员函数begin()、end()
  6. ##HttpServletRequest 和 ##HttpServletResponse 基础知识
  7. servlet处理多个请求 笔记
  8. html 二级菜单 鼠标移动消失,鼠标一离开导航菜单,二级菜单就隐藏,移不到二级菜单...
  9. c语言getchar的作用,c=getchar()!='\n'到底什么用呢
  10. cordova打开外部链接_企业网盘的分享链接功能 这种的你一定没见过