mybatis:很可能未指定结果类型或结果映射

时间:2018-07-23 10:36:13

标签: mybatis

我使用mybatis对MySQL做一些CRUD。

我遇到一个错误:org.mybatis.spring.MyBatisSystemException:嵌套的异常是org.apache.ibatis.executor.ExecutorException:运行了一个查询,并且未找到映射语句com.huawei.it的结果映射。 iscp.scop.send.dao.IEspaceDao.findEspaceLogById'。可能未指定结果类型或结果映射。

我检查了我的映射器xml,在选择标记中有resultType参数。

我不知道,为什么mybatis仍然抛出此错误。

1 个答案:

答案 0 :(得分:0)

select语句中,MyBatis期望返回一些数据,并且需要知道如何精确地映射它们。 因此,您必须在映射中添加resultTyperesultMap标签。

以下是映射的假设示例:

<resultMap id="espaceLogEntityResultMap" type="com.huawei.it.iscp.scop.send.dao.EspaceLogEntity">
        <result property="id" column="ID"/>
        <result property="entityField1" column="some_column1"/>
        <result property="entityField2" column="some_column2"/>
</resultMap>

<select id="findEspaceLogById" resultMap="espaceLogEntityResultMap">
    SELECT ID, some_column1, some_column2      
    FROM EspaceLogEntity 
    WHERE ID=#{id}
</select>

<select id="countEspaceLog" resultType="long">
    SELECT count(*)    
    FROM EspaceLogEntity
</select>