Mybatis —— @Options注解实现执行参数配置
生活随笔
收集整理的這篇文章主要介紹了
Mybatis —— @Options注解实现执行参数配置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
記錄下Mybtias注解方式如何配置 SQL執行超時時長、Statement類型等
一、背景
最近使用Presto和Trino引擎做SQL執行開銷埋點(這個找時間也寫篇博客記錄下),實施過程中發現有個應用請求的SQL被分成了兩個過程 —— Prepare階段和Execute階段
這帶來了什么問題呢?
造成了SQL和實際執行開銷沒能直接對上。 利用Trino Http Event Client監聽查詢完成事件時,PreparedStatement執行方式會將SQL割裂,Prepared階段的event記錄了SQL,但缺少執行開銷;Execute階段有執行開銷,但沒有具體執行的SQL內容。
二、解決方式
核心:從PreparedStatement方式轉為Statement方式
如果是mapper文件方式可以在標簽屬性里設置,但原來調用代碼是注解方式,該如何實現呢?
通過@Options注解指定statementType即可實現,其他可配置參數請參考源碼類
// 原本調用方式@Select("${executeSql}")String executeTaskSql(@Param("executeSql") String executeSql);// 變更后調用方式@Select("${executeSql}")@Options(timeout = 2400, statementType = StatementType.STATEMENT)String executeTaskSqlByStatement(@Param("executeSql") String executeSql);總結
以上是生活随笔為你收集整理的Mybatis —— @Options注解实现执行参数配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java if 嵌套_java嵌套if语
- 下一篇: group by 用法