Parameter 'phone' not found. Available parameters are [0, 1, param1, param2]关于mybatis多个参数问题

今天写ssm项目,需要dao层需要传入多个参数,我直接传入多个字符串而没有使用map,于是出现了Parameter 'phone' not found. Available parameters are [0, 1, param1, param2]错误.如下:

dao层接口方法:

	User selectUserByPhoneAndPassword(String phone,String password);//通过密码和手机号查询用户信息
xml中sql语句:

	

	
		
		
		
		
		
		
		
	
	
	
	

-------------------------------------------------------------------------------------------------------------------
如果在spring整合的mybatis中传入多个参数,可以将多个参数放入map集合中,然后sql语句不用改,还是#{map中key的值};

	User selectUserByPhoneAndPassword(MapparamMap);//通过密码和手机号查询用户信息


如果依然不改变上面dao层接口中方法参数,使用多个字符串形式参数的话,那么在sql语句中就要将参数改为下标值,如下:
	

如果觉得在xml中看sql语句不直观,想保留参数名称,那么就要在dao层方法中加入@Param注释,使value值与sql语句中参数值相同,如下:

	import org.apache.ibatis.annotations.Param;
	import com.gao.p2p.model.user.User;
	public interface UserMapper {
	User selectUserByPhoneAndPassword(@Param(value = "phone") String phone,@Param(value="password") String password);

	}

	
	


你可能感兴趣的:(Parameter 'phone' not found. Available parameters are [0, 1, param1, param2]关于mybatis多个参数问题)