我写了个查询接口,传入的参数是个Map,写SQL的时候,我在parameterType填写java.util.Map,调用居然报错,类型转换错误,String转map失败.我把parameterType改为String就没报错,结果出来了,但是我传入的是2个值啊!!!!!真崩溃~!代码如下:接口:
报错的XML:
修改为这样就正常了:
但是我SQL里是多个参数啊,不应该用Map么???求大神解答疑惑
闭关修行中......
你的map 是null 你可以把錯誤貼出來
因為你沒在 mapper interface 的 method 裡指定 @Param 注解,当此时只有一个参数的时候,会自动拆开。Map 类型会按 <String, Object> 拆开。复杂数据类型会根据 getter 拆開。
@Param
<String, Object>
getter
你可以參考一下這個:https://my.oschina.net/triday... 。
你在介面裡面指定一下Map的key value
可能是介面的Map沒有指定類型的問題,建議做修改:
public Module selectByMap(Map<String, Object> map)
樓主,我現在遇到跟你一樣的問題,按照你的評論回復中的說法,mapper文件裡面參數類型改為hashMap,DAO層不用任何註解,sql語句中取值語法跟你一樣,但是仍未取到值,求解
你的map 是null 你可以把錯誤貼出來
因為你沒在 mapper interface 的 method 裡指定
@Param
注解,当此时只有一个参数的时候,会自动拆开。Map 类型会按<String, Object>
拆开。复杂数据类型会根据getter
拆開。你可以參考一下這個:https://my.oschina.net/triday... 。
你在介面裡面指定一下Map的key value
可能是介面的Map沒有指定類型的問題,建議做修改:
樓主,我現在遇到跟你一樣的問題,按照你的評論回復中的說法,mapper文件裡面參數類型改為hashMap,DAO層不用任何註解,sql語句中取值語法跟你一樣,但是仍未取到值,求解