项目启动出错:beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'XX'的解决办法
今天帮朋友改代码的时候碰见这么一个错(是启动项目时候出的错):
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘baseAttrInfoMapper’ defined in file。
Cause: java.lang.ClassNotFoundException: Cannot find class: spuSaleAttrMap
没有这个类异常?what?
当时就觉得mybatis错了,然后就点进去写的多表查询的xml中,果然:
发现是查询的返回值类型错了,resultType是返回单个值,也就是bean对象。这里返回的是一个List,怎么能不错呢?
两者的区别:
- resultType:当使用resultType做SQL语句返回结果类型处理时,对于SQL语句查询出的字段在相应的pojo中必须有和它相同的字段对应,而resultType中的内容就是pojo在本项目中的位置。
- resultMap:当使用resultMap做SQL语句返回结果类型处理时,通常需要在mapper.xml中定义resultMap进行pojo和相应表字段的对应。
所以解决办法就是将resultType改成resultMap。之后在启动项目时候就OK了。