Mybatis有多個(gè)參數(shù)時(shí)的寫法
1.第一種寫法
Mapper接口函數(shù)
public boolean uploadUserUpwd(String upwd,String uname);
Mapper.xml
<update id="uploadUserUpwd" parameterType="String" >
? ? ? ?update login
? ? ? ?set upwd=#{arg0}
? ? ? ?where uname=#{arg1}
</update>
2.第二種寫法
public boolean uploadUserUpwd(@Param("upwd") String upwd,@Param("uname") String uname);
此時(shí)xml中用參數(shù)名字即可
當(dāng)xml中不使用arg0,而使用單個(gè)的參數(shù)名稱,報(bào)錯(cuò):Parameter ‘xxx‘ not found. Available parameters are [arg1, arg0, param1, param2]
問題分析:沒有@Param注解指定參數(shù)名時(shí),底層使用的是一個(gè)HashMap集合,把每個(gè)參數(shù)以key為arg0…argN,value為實(shí)際參數(shù)和key為param1…paramN,value為實(shí)際參數(shù)的形式,依次存入到HashMap集合中,例如: {arg0=1000,param1=1000,arg1=lisi,param2=lisi…}
原文鏈接:https://www.dianjilingqu.com/441425.html
標(biāo)簽: