当前位置: 首页 > 图灵资讯 > 技术篇> Could not find result map java.lang.Long

Could not find result map java.lang.Long

来源:图灵教育
时间:2023-06-28 14:31:57

在测试过程中报告:org.apache.ibatis.builder.IncompleteElementException: Could not find result map java.lang.Integer

我检查了相应的mapper文件和接口文件,没有发现任何问题。操作任何与mybatis相关的测试,发现所有这些错误都报告了。

我猜是mybatis的配置文件出了问题,检查后发现没有问题。

搜索所有mapper文件,发现文件中有

SELECT a.OBJECT_ID FROM SYS_ROLE_AUTHORITY AS a LEFT JOIN SYS_ROLE_AUTHORITY_RELATION AS b ON a.`AUTHORITY_ID`= b.`AUTHORITY_ID` WHERE a.`TYPE`=#{type} AND b.`ROLE_ID`=#{roleId} AND b.`AUTHORITY_TYPE`=0 AND a.`OBJECT_ID` IN( #{item} )

把上面的resultmap改成resultype,发现所有的测试都通过了。似乎maper文件的resulttype、resultMap错误会影响其它mapper文件。

改成:

SELECT a.OBJECT_ID FROM SYS_ROLE_AUTHORITY AS a LEFT JOIN SYS_ROLE_AUTHORITY_RELATION AS b ON a.`AUTHORITY_ID`= b.`AUTHORITY_ID` WHERE a.`TYPE`=#{type} AND b.`ROLE_ID`=#{roleId} AND b.`AUTHORITY_TYPE`=0 AND a.`OBJECT_ID` IN( #{item} )

错误解决了。