我使用mybatis对MySQL做一些CRUD。
我遇到一个错误:org.mybatis.spring.MyBatisSystemException:嵌套的异常是org.apache.ibatis.executor.ExecutorException:运行了一个查询,并且未找到映射语句com.huawei.it的结果映射。 iscp.scop.send.dao.IEspaceDao.findEspaceLogById'。可能未指定结果类型或结果映射。我检查了我的映射器xml,在选择标记中有resultType参数。
我不知道,为什么mybatis仍然抛出此错误。
答案 0 :(得分:0)
在select
语句中,MyBatis期望返回一些数据,并且需要知道如何精确地映射它们。
因此,您必须在映射中添加resultType
或resultMap
标签。
以下是映射的假设示例:
<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>