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

网友投稿 1183 2022-08-30


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

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

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

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

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

mybatis.configurathttp://ion.default-statement-timeout = 1

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

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

Mapper XML配置

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

id="insertAuthor"

parameterType="domain.blog.Author"

flushCache="true"

statementType="PREPARED"

keyProperty=""

keyColumn=""

useGeneratedKeys=""

timeout="20">

id="insertAuthor"

parameterType="domain.blog.Author"

flushCache="true"

statementType="PREPARED"

keyProperty=""

keyColumn=""

useGeneratedKeys=""

timeout="20">


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:python摄像头实时人脸检测数据收集(python摄像头监控)
下一篇:详解Java枚举类在生产环境中的使用方式
相关文章

 发表评论

暂时没有评论,来抢沙发吧~