老师这个是哪儿错了

老师这个是哪儿错了

老师帮忙看一下这个问题,我自己查看了一遍注解什么都对着呢,就是一直出错

Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.imooc.ob.dao.DepartmentDao.selectAll

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

4回答
好帮手慕阿莹 2020-01-04 15:15:02

同学你好,老师猜测同学写xml的包名的时候,创建的时候是以.进行分隔的。

建议同学尝试把resource文件下的xml备份一下,然后一层一层去去创建包。

,先创建com,再创建imooc,等等。最后再吧xml放进去

同学可以试一下。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

提问者 慕容2015448 2020-01-04 15:09:54
检查了还是出错

dao层目录结构

http://img1.sycdn.imooc.com//climg/5e1039b409b52a0804110425.jpg

dao接口

http://img1.sycdn.imooc.com//climg/5e1039e90974f7f905200287.jpg

xml文件映射

http://img1.sycdn.imooc.com//climg/5e103a1f091c667b11080591.jpg

http://img1.sycdn.imooc.com//climg/5e103a3c09c07a8610040479.jpg

好帮手慕阿莹 2020-01-04 14:32:16

同学你好,

这是两个不同的问题。

1、http://img1.sycdn.imooc.com//climg/5e102fee099c827607670077.jpg

这个问题是没有找到对应的selectAll方法。

1)可以检查一下你的xml文件中,是否有写这个方法。

2)xml文件的包名,类名,方法名是否与Dao完全一致。

3)在resource新建包名的时候,是否是用的点儿 .  进行分隔的,应该用斜杠 \ 进行分隔,或者同学可以把包一层一层的创建。resource中用点儿分隔不能分成几层,而会认为其是一个整体,导致与dao接口的包名不一致了。

2、

这个是因为咱们在dao层的接口上写了注解,并且mybatis底层也会创建一个对应的实体类,所以idea会以为有两个bean,此处你可以用@resource(name="***") 的方法就不会报错了。

17年的idea版本也不会提示这个问题,此处你可以用@resource(name="***") 来代替@Autowired

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 慕容2015448 #1
    老师帮忙再看一下,我把我的文件都贴出来了
    2020-01-04 15:11:28
提问者 慕容2015448 2020-01-04 10:49:36
老师我感觉应该是这儿这个错误吧,但是我找了没找出来错误

http://img1.sycdn.imooc.com//climg/5e0ffd3e09f7b9a313310657.jpg

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师