mybatis设置sql执行时间超时时间的方法

 更新时间:2022年02月07日 16:12:05   作者:quifar123  
本文主要介绍了mybatis设置sql执行时间超时时间的方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

存在这样的场景,当一些比较耗时的查询时,如果不中断,则会导致数据库堵塞,进而会拖垮整个数据库服务的正常运行。

1.如果你使用的是HikariCP连接池的话,可以在配置文件设置connetion-timeout这个属性(如application.properties)

2.如果你使用的是其他链接池,比如tomcat连接池,同时持久化框架用的是mybatis的话,那可以这样设置

2.1 在配置文件中设置全局的sql执行超时时间(单位s):

mybatis.configuration.default-statement-timeout = 1

如果想把粒度更细,比如粒度到某个sql的话,可以在select/insert/update/delete 操作语句中设置 timeout值(单位s)

<select id="getXXXX" parameterType="java.lang.String" resultMap="dataMap" timeout="1">
 
</select>

当sql执行时间超过1s,就会断开操作了,起到保护数据库服务的作用。

Mapper XML配置

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

<insert
  id="insertAuthor"
  parameterType="domain.blog.Author"
  flushCache="true"
  statementType="PREPARED"
  keyProperty=""
  keyColumn=""
  useGeneratedKeys=""
  timeout="20">

到此这篇关于mybatis设置sql执行时间超时时间的方法的文章就介绍到这了,更多相关mybatis设置sql执行时间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 新手初学Java常见排序算法

    新手初学Java常见排序算法

    排序(Sorting) 是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列
    2021-07-07
  • 详解MySQL事务日志undo log

    详解MySQL事务日志undo log

    众所周知,事务的一大特点是原子性,即同一事务的SQL要同时成功或者失败,那大家有没有想过在MySQL的innoDB存储引擎中是如何保证这样的原子性操作的,接下来就带大家一探究竟,感兴趣的小伙伴和小编一起来探讨吧
    2023-07-07
  • Java中BigDecimal的舍入模式解析(RoundingMode)

    Java中BigDecimal的舍入模式解析(RoundingMode)

    这篇文章主要介绍了Java中BigDecimal的舍入模式解析(RoundingMode),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • SpringBoot读取properties文件配置项过程解析

    SpringBoot读取properties文件配置项过程解析

    这篇文章主要介绍了SpringBoot读取properties文件配置项过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • Java基础学习之字符串知识总结

    Java基础学习之字符串知识总结

    今天带着大家复习一下Java基础知识-字符串,文中介绍的非常详细,对初步学习Java或者复习Java的小伙伴们都很有帮助哟,需要的朋友可以参考下
    2021-05-05
  • java实现一个扫描包的工具类实例代码

    java实现一个扫描包的工具类实例代码

    很多框架,比如springmvc,mybatis等使用注解,为了处理注解,必然要对包进行扫描,所以下面这篇文章主要给大家分享介绍了关于利用java如何实现一个扫描包的工具类,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
    2017-10-10
  • SpringMVC整合SpringSession 实现sessiong

    SpringMVC整合SpringSession 实现sessiong

    这篇文章主要介绍了SpringMVC整合SpringSession 实现session的实例代码,本文通过实例相结合的形式给大家介绍的非常详细,需要的朋友参考下吧
    2018-04-04
  • IDEA中springboot的热加载thymeleaf静态html页面的方法

    IDEA中springboot的热加载thymeleaf静态html页面的方法

    这篇文章主要介绍了IDEA中springboot的热加载thymeleaf静态html页面的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • mybatis如何使用Criteria的and和or进行联合查询

    mybatis如何使用Criteria的and和or进行联合查询

    这篇文章主要介绍了mybatis如何使用Criteria的and和or进行联合查询,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • java实现桌面右下角弹窗效果

    java实现桌面右下角弹窗效果

    这篇文章主要为大家详细介绍了java实现桌面右下角弹窗效果,模仿类似于qq消息弹窗,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07

最新评论