Mybatis有多个参数时的写法

1.第一种写法

Mapper接口函数

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);

此时xml中用参数名字即可

当xml中不使用arg0,而使用单个的参数名称,报错:Parameter ‘xxx‘ not found. Available parameters are [arg1, arg0, param1, param2]

问题分析:没有@Param注解指定参数名时,底层使用的是一个HashMap集合,把每个参数以key为arg0…argN,value为实际参数和key为param1…paramN,value为实际参数的形式,依次存入到HashMap集合中,例如:

posted @ 2022-07-21 11:20  lwx_R  阅读(88)  评论(0编辑  收藏  举报