在一个mybatis的demo中我新建一个关于user的测试类,在类中调用UserMapper接口中的方法,但是发现调用不成功
![](https://i-blog.csdnimg.cn/blog_migrate/1756afd0e5a01e4359a151d5aae0e1ba.png)
UserMapper接口如下所示:
![](https://i-blog.csdnimg.cn/blog_migrate/1a10121c585b44a3eaa06a7fb2693972.png)
UserMapper.xml关于这个方法的代码如下所示:
![](https://i-blog.csdnimg.cn/blog_migrate/16df5c45639900fb79eff80806623cc9.png)
经过不懈的检查之后发现Mapper的代理接口对象没有写对,原本我是要弄的user的,结果弄成的是Brand的,如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/a30a7afa064862e0fbdf492bf1c5b313.png)
经过修改后的运行成功:
![](https://i-blog.csdnimg.cn/blog_migrate/9d12d6961fe2aca4b21d73864a2ed9bd.png)
修改之后的运行结果如下所示:
![](https://i-blog.csdnimg.cn/blog_migrate/0425855451d900498e86f2ab0a9f6a7e.png)
总结:我们要使用哪个Mapper就需要获取哪个Mapper的对象,这样子才能通过相对应的Mapper接口来使用相应的方法。起初出现这个错误的原因就是我从Brand里面复制过来的测试类,但是没有修改测试类中的Mapper对象,所以一直是BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);,而我需要用的是UserMapper里面的方法,所以就发生了一个错误,这算是一个比较小的错误,也是比较容易忽略的错误。