mybatis——java.util.HashMap cannot be cast to 。。。?

图片说明
图片说明
图片说明
我按照网上的教程写了个mybatis的测试代码
但是在遍历的时候报错了
查了下,好像是类型转换的问题
我改了代码,可以执行,但是一时间想不到有好的遍历的方法。
想请教大神,像这种情况,有没有别的办法可以遍历呢?

4个回答

你XML中的sql查询返回的是java.util.HashMap,将它改为User 就可以了

csdn_sqj
csdn_sqj 已解决了,谢谢你
9 个月之前 回复
csdn_sqj
csdn_sqj 请问是改成:<select id="findAll" resultType="User">吗?/////// 报错了:Could not resolve type alias 'User'. Cause: java.lang.ClassNotFoundException: Cannot find class: User
9 个月之前 回复

IUserDao里的findAll()方法,返回类型改成user。

csdn_sqj
csdn_sqj 已解决了,谢谢你
9 个月之前 回复
csdn_sqj
csdn_sqj 请问是改成:<select id="findAll" resultType="user">吗?/////// 报错了:Could not resolve type alias 'user'. Cause: java.lang.ClassNotFoundException: Cannot find class: user
9 个月之前 回复

你去你Mapper文件里面看看,你的返回类型应该是用的Map,但是你在外面用你自己定义的类接收的

csdn_sqj
csdn_sqj 已解决了,谢谢你
9 个月之前 回复

看报错是HashMap不能转为User,所以首先应该查看一下Mapper.xml文件中接口对应的返回类型是不是有问题呢,很可能是mapper文件返回结果跟你Mapper接口中的方法返回类型不同导致的。

csdn_sqj
csdn_sqj 已解决了,谢谢你
9 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问