idea报错如下:
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘username’ not found. Available parameters are [arg1, arg0, param1, param2]] with root cause
org.apache.ibatis.binding.BindingException: Parameter ‘username’ not found. Available parameters are [arg1, arg0, param1, param2]
原因:登录系统传的参数最核心的应该是username和password,但是通过mybatis把在Dao层映射数据给mapper层的处理的时候,会出现多参数问题,多参数在mybatis指示username和passwod不明确,他不会自动帮你匹配,需要你去指示,这时候只需要在你指定的Mapper层前加@Param(“username”)即可
解决办法:
经测试应该是忘了使用@Param。
当只有一个参数时,Mapper中可以不使用
public void adminLogin(Integer username);
但是有多个参数时必须用:
public Admin adminLogin(@Param(“username”)Integer username, @Param(“password”)String password);
如图: