Parameter ' username' not found. Available parameters are [0, 1, param1, param2]

出现这个问题的原因:

传递多个参数时,如TbUser selectUser(String username,String password),mybatis自动将这些值封装为map,Available parameters are [0, 1, param1, param2],0,1应当是keyname,当同时传入多个基本类型(int,String,Date)的参数就会报错。

解决:

1.

将sql中的#{username} #{password}改成#{0} #{1}

2.

把多个参数封装直接封装在map中:

public TbUser login(HashMap

3.

加上@Param注解

TbUser selectUser(@Param(value="username") String username,@Param(value="password") String password);

你可能感兴趣的:(排错)