1. 程式人生 > >Mybatis設定sql超時時間

Mybatis設定sql超時時間

開始搭建專案框架的時候,忽略了sql執行超時時間的問題. 原本使用.net開發是,預設的超時時間是30s,這個時間一般一般sql是用不到的,但也不排除一些比較複雜或資料量較大的sql.

而java中,如果不指定,預設超時時間是不做限制的,預設值為0.

由於我們的專案採用Mybatis進行資料庫操作,經過檢視Mybaits相關文件,配置sql超時時間有兩種方法

1 全域性配置

在mybatis配置檔案的settings節點中,增加如下配置
<settings>
<setting name="defaultStatementTimeout" value="25"/>
</settings>
這是以秒為單位的全域性sql超時時間設定,當超出了設定的超時時間時,會丟擲SQLTimeoutException

2 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超時時間

開始搭建專案框架的時候,忽略了sql執行超時時間的問題. 原本使用.net開發是,預設的超時時間是30s,這個時間一般一般sql是用不到的,但也不排除一些比較複雜或資料量較大的sql. 而java中,如果不指定,預設超時時間是不做限制的,預設值為0. 由於我們的專案採用My

Mqtt設定訊息超時時間

公司做了一個產品用到了訊息中介軟體activemq,我們今天做了一下壓力測試 但是由於生產過快消費過慢,造成了activemq掛掉,排查日誌及網上百度發現是因為data資料夾下面 有一個db.data檔案過大超過了4G造成activemq卡死 我們決定配置死信佇列保證在一定時間內不消費的

設定jboss超時時間

最近接手了一個專案,用的jboss 7.1 作為部署的伺服器,也是本人第一次用jboss。 jboss內部集成了Tomcat,在網上搜jboss的話,資訊並不是太多。而且版本眾多, 差異也比較大。7.1時只有一個standalone.xml配置檔案的。所以設定jboss超時時間 也是在這

spring mybatis設定SQL語句列印

在使用mybatis進行開發的時候,由於可以動態拼接sql,這樣大大方便了我們。但是也有一定的問題,當我們動態sql拼接的塊很多的時候,我們要想從*mapper.xml中直接找出完整的sql就會非常的難,這個時候經常會需要把組合之後的完整sql調試出來比較好。下面來看兩種調試出sql的兩種方式

shiro設定session超時時間

系統預設超時時間是180000毫秒(30分鐘),可以通過下面2中方式設定自定義的超時時間 1.配置檔案修改 <!-- 會話管理器 --> <bean id="sessionManager" class="org.apache.shiro.web.session.

使用uWSGI和nginx如何設定連線超時時間

轉載自:https://www.jianshu.com/p/f5ee6b6b7e54   前段時間做一個django的專案,因為之前專案只是一個後臺程式,因此資料庫設計的並不滿足後面新新增的前端的需求,所以查詢顯示什麼的特別冗餘,造成了大量的坑。今天就分享一個爬坑的過程。

C# 給某個方法設定執行超時時間

在某些情況下(例如通過網路訪問資料),常常不希望程式卡住而佔用太多時間以至於造成介面假死。 在這時、我們可以通過Thread、Thread + Invoke(UI)或者是 delegate.BeginInvoke 來避免介面假死, 但是這樣做時,某些程式碼或者是某個方法的

httpclient傳送http請求設定網路超時時間

一、傳送的ApiClient方法 可以設定網路超時時間 /*** Eclipse Class Decompiler plugin, copyright (c) 2016 Chen Chao ([email protected]) ***/ pack

設定connect超時時間

socket程式設計中,當客戶端connect()連線一個服務端時,如果網路或服務端繁忙,connect()函式會遲遲不會返回(阻塞模式下)。這裡有個方法,可以設定如果在給定的時間內還沒有連線上,就不在連線。 1、設定socket為非阻塞模式 2、connect()連線 3

Php中設定Session超時時間登入時間限制

最近某個PHP專案用到了限制登入時間的功能,比如使用者登入系統60分鐘(www.phpfensi.com)後如果沒有操作就自動退出,我搜索了網路收集了有以下方法可供參考. 第一種方法即設定php.ini配置檔案,設定session.gc_maxlifetime和sess

HttpClient 4.5.2版本設定連線超時時間-CloseableHttpClient設定Timeout

HttpClient  4.5版本設定連線超時時間-CloseableHttpClient設定Timeout(區別於4.3.2) HttpClient升級到4.5版本後,API有很多變化,HttpClient 4之後,API一直沒有太穩定,我感覺4.5版本抽象後,很多

如何設定connect超時時間

Sometimes, the connect time-out can take too much time when the target is unavailable. To resolve this issue, we can use non-blocking socket mode to se

celery給每個任務設定超時時間

關於celery任務超時處理的坑,我先說下我之前遇到的問題: 這是我之前的任務超時配置: 專案中需要執行兩個任務,但是兩個任務執行的週期和執行的耗時都不一樣,這個配置是影響全域性的, 我現在的需求是把兩個任務分別設定耗時時間,找了很多資料,看了官網,都沒有淺顯易懂的答案,下面

設定超時時間真的很重要

概述 在一條慢SQL導致購物車服務無法使用一文中,提到了客戶端呼叫購物車服務的時候,超時了。如果當時客戶端沒有設定超時時間的話,會在客戶端中產生級聯故障。先用一張圖來說明一下。 聚合層除了呼叫購物車微服務,還呼叫了營銷系統微服務。如果購物車服務的介面響應時間很慢,而客

單點登入CAS的超時時間設定

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

遞迴方法設定超時時間

public static String getCheckCode(String token,String number,int timeout){ try { Thread.sleep(3000); } catch (InterruptedException e

Go基礎系列:為select設定超時時間

After() 誰也無法保證某些情況下的select是否會永久阻塞。很多時候都需要設定一下select的超時時間,可以藉助time包的After()實現。 time.After()的定義如下: func After(d Duration) <-chan Time After()函式接受一個時長d

解決ssh連線超時時間(ssh timeout)的設定方法

  本文介紹下,linux中ssh連線超時時間的設定方法,以避免總是被強行退出。有需要的朋友,參考下吧。有關修改ssh連線超時時間的方法,網上介紹的很多了。比如下面這個:可以減少ssh連線超時等待的時間:方法:ssh -o ConnectTimeout=3 192.168

SpringBoot Rest Api 設定超時時間

專案有一對外開放api,外網訪問經常出現超時,剛接觸spring boot不久,內建的tomcat不像原先那樣在server.xml中設定request超時時間。 後來查了些資料,在配置檔案application.properties中加了spring.mvc.async.request

shell 設定超時時間

  a=1 b=20 while(true) do if [ $a -eq $b ] then echo "kill server timeout" break else