論Mybaits的坑之statementType

今天如往常一樣寫SQL語句,由於懶癌發作就直接複製了上一個SQL語句改吧改吧就寫完。結果在運行的時候蒙逼了,一直提示 "?"處有語法問題 就像這個亞子
在這裏插入圖片描述
當時我是一臉矇蔽,我是誰?我在哪?我在幹什麼?
首先考慮了sql有問題,然後拿到Navicat 上運行一下,結果啥事沒有。。。
我在那大眼瞪小眼看了五分鐘後,發現了一個東西,那就是
在這裏插入圖片描述
這個玩意,起初因爲是複製的,所以也沒看這玩意是幹嘛的,現在有錯了,正好又遇見一個不認識的東西,怎麼辦呢?谷歌吧,這一查,問題出來了。statementType是用來標記Mybatis是用什麼樣的對象來操作Sql的。可選值有三個,分別爲:

1、STATEMENT:直接操作sql,不進行預編譯,獲取數據:$—Statement
2、PREPARED:預處理,參數,進行預編譯,獲取數據:#—–PreparedStatement:默認
3、CALLABLE:執行存儲過程————CallableStatement

當時我的 statementType 值就是 STATEMENT 所以在使用佔位符的時候一直提示我 "?"處有語法問題 所以解決辦法是要不刪了 statementType 要不將 STATEMENT 改爲 PREPARED

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章