mybatis配置sql超时时间
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超时时间相关推荐
- Sql超时时间已到,在操作完成之前超时时间已过或服务器未响应。
随着数据库数据的不断增大,查询时间也随之增长.而客户端与数据库连接时间以及命令的执行时间都是有限的.默认为30s. 所以在查询数据的时候,程序会出现 "超时时间已到.在操作完成之前超时时间已 ...
- 2个区别搞懂web.xml配置Session超时时间
为单个Web应用 配置超时时间可以在web.xml中使用<session-config>元素,如 <web-app> <!–filter.listener,servlet ...
- Springboot mybatis 配置sql日志打印
1.方式一 ######################################################## ###配置打印sql ########################## ...
- MyBatis 配置sql语句输出
版权声明:本文为博主原创文章,未经博主允许不得转载. 此处使用log4j,加入jar包,然后在src路径下加入:log4j.properties文件 填入以下配置就可以打印了 [plain]view ...
- sql 超时时间已到.在操作完成之前超时时间已过或服务器未响应.,sqlserver Timeout 时间已到。在操作完成之前超时时间已过或服务器未响应...
Linux 磁盘挂载和mount共享 针对Linux服务器的磁盘挂载mount和共享做简单操作说明: 1. 查看已使用的磁盘情况 df –h 2. 查看所有磁盘 fdisk –l 3. 查看指定 ...
- Hystrix全局配置默认超时时间
- Feign客户端 - 超时时间配置
Spring Cloud中Feign客户端是默认开启支持Ribbon的,最重要的两个超时就是连接超时ConnectTimeout和读超时ReadTimeout,在默认情况下,也就是没有任何配置下,Fe ...
- 【MyBatis笔记】02-MyBatis配置SQL打印
MyBatis 配置SQL打印 在 SqlMappingConfig.xml 中配置以下代码: <!--配置sql打印--> <settings><setting nam ...
- SpringCloud的各种超时时间配置效果
1. 前言(以下的springcloud版本是Dalston.RC1) Springcloud框架中,超时时间的设置通常有三个层面: 1) zuul网关 用指定 url 进行路由时,使用下面的方式 # ...
- spring事务中的超时时间很多人都不理解
在spring中如何使用事务是一个很大的问题,其中有一个我需要在这篇文章中着重讲解一下,就是spring事务中的超时时间问题,很多同学不知道如何才能是这个超时时间生效,导致在使用过程中出现各种各样的问 ...
最新文章
- 二手车电商很热?其实都是平台在自嗨!
- 可以在手机里运行的Detectron2来了:Facebook官方出品,支持端到端模型训练、量化和部署...
- 【Android APT】注解处理器 ( 根据注解生成 Java 代码 )
- 125.数据传输方式
- Python进阶05 循环设计
- 如何使用bootstrap实现轮播图?
- leetcode511. 游戏玩法分析 I(SQL)
- 《DeepLearning.ai 深度学习笔记》发布,黄海广博士整理
- 出现ESXi系统无法连接FreeNAS的情况?90%以上的人都做错了!
- 去见你喜欢的人,去做你想做的事
- (六)mybatis-spring集成完整版
- Lenovo System x 硬件Windows Server驱动下载
- 高中数学函数思维导图的绘制方法分享
- stm32与计算机串口通信,STM32串口通信协议
- 如何快速裁剪pdf中的页面
- 微软应用商店打不开代码代码: 0x80131500
- 使用Mono.Cecil改变访问级别
- BZOJ1023 [SHOI2008]仙人掌图
- 使用Python,OpenCV获取、更改像素,修改图像通道,剪裁ROI
- HDOJ 1814 Peaceful Commission
热门文章
- C#编码应注意的事项
- 使用Java 自身Timer API实现定时器的方法
- C#: WinForm系列——DataGridView单元格文本自动换行
- Python 参数解析(getopt模块)
- C++11 非成员函数begin()、end()
- ##HttpServletRequest 和 ##HttpServletResponse 基础知识
- servlet处理多个请求 笔记
- html 二级菜单 鼠标移动消失,鼠标一离开导航菜单,二级菜单就隐藏,移不到二级菜单...
- c语言getchar的作用,c=getchar()!='\n'到底什么用呢
- cordova打开外部链接_企业网盘的分享链接功能 这种的你一定没见过