励志成为java小白的小白
2021-08-04 02:52
采纳率: 66.7%
浏览 73
已结题

使用spring整合mybatis做数据查询时报错,实在找不到啥原因。

使用spring整合mybatis做数据查询时报错,实在找不到啥原因了。。

img

img

img

img

img

img

img

img

img

  • 收藏

6条回答 默认 最新

  • L星火燎原 2021-08-04 08:35
    已采纳

    朋友,请注意你的报错信息“java.lang.NoSuchMethodException”,大概的意思是找不到这样的方法,概括来说出现的原因是:
      1)实体类没有构造方法;
      2)实体类有参构造方法,但没有无参构造方法;
      3)xml中namespace写错了
    4)以上3点都没问题的话,建议清理一下IDEA缓存,invalidate Caches/Restart。

    注意:如果自己找不到问题原因的话,可以将你的xml文件贴出来供分析排查;

    已采纳该答案
    打赏 评论
  • 不知道是什么原因,我删了整个文件,重新导一遍就可以了,什么都没有改动。。。太奇葩了

    1 打赏 评论
  • CSDN专家-微编程 2021-08-04 05:27

    很明显你写错了,第一张图你getBean里面写的应该是他的实现类呀不是接口,所以studentService改成studentServiceImpl

    img

    打赏 评论
  • a1767028198 2021-08-04 09:15

    楼上+1,你那个dao是不是类,类的话给个无参构造器
    上一次看到这个错误是有人把resultType写成了mapper接口类,然后初始化接口肯定GG,然后你这代码给的还很完美的避过了核心区域

    打赏 评论
  • 真-酸辣土豆丝 2021-08-04 11:09

    studentDao有问题,1,是否加了@Repository注解,
    2,mybatis配置对不对?mapper-locations: classpath:mapper/*.xml
    3,xml文件写错了,能否对应上studentDao

    打赏 评论
  • qq_34370249 2021-08-04 15:08

    从你的日志信息来看,配置应该都没错,应该是你SQL语句的XML配置出现了问题。检查一下你的select标签的resultType属性。写成全限定类名试一下。如果不行,就改成resultMap,自己写一个与Student类对应的ResultMap。

    insert 不会报错的原因,是因为insert、delete、update标签,返回值是一个int类型,也就是影响行数。而select标签返回值类型需要自己指定。

    出现问题,要先看日志,大致判断出,错误出现在那一行,进行debug调试,断点打在出错行附近,进行进一步分析,最终找到错误原因

    打赏 评论

相关推荐 更多相似问题