出现这个问题的原因:
传递多个参数时,如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<String,String) map);
3.
加上@Param注解
TbUser selectUser(@Param(value="username") String username,@Param(value="password") String password);