文章詳情頁
java - Mybatis 參數類型問題,應該是Map,結果報錯.
瀏覽:113日期:2024-01-18 17:17:23
問題描述
我寫了個查詢接口,傳入的參數是個Map,寫SQL的時候,我在parameterType填寫java.util.Map,調用居然報錯,類型轉換錯誤,String轉map失敗.我把parameterType改為String就沒報錯,結果出來了,但是我傳入的是2個值啊!!!!!真崩潰~!代碼如下:接口:
報錯的XML:
修改為這樣就正常了:
但是我SQL里是多個參數啊,不應該用Map么???求大神解答疑惑
問題解答
回答1:你的map 是null 你可以把錯誤貼出來
回答2:因為你沒在 mapper interface 的 method 里指定 @Param 注解,當此時只有一個參數的時候,會自動拆開。Map 類型會按 <String, Object> 拆開。復雜數據類型會根據 getter 拆開。
你可以參考一下這個:https://my.oschina.net/triday... 。
回答3:你在接口里面指定一下Map的key value
回答4:可能是接口的Map沒有指定類型的問題,建議做一下修改:
public Module selectByMap(Map<String, Object> map)回答5:
樓主,我現在遇到跟你一樣的問題,按照你的評論回復中的說法,mapper文件里面參數類型改為hashMap,DAO層不用任何注解,sql語句中取值語法跟你一樣,但是仍未取到值,求解
標簽:
java
排行榜
