Возможно, ваш файл mapper.xml использует неправильное пространство имен (возможно, из-за ошибки вставки копии).
Например, допустим, у вас есть интерфейс Java с именем MyEntityMapper.java
, который должен быть связан с конфигурацией xml mybatis mapper с именем MyEntityMapper.xml
:
MyEntityMapper.java
package my.mappers;
public interface MyEntityMapper {
MyEntity getById(@Param("id") String id);
}
MyEntityMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="non.existent.package.NonExistentMapper">
<resultMap id="MyEntityResultmap" type="MyEntity">
<!-- some result map stuff here -->
</resultMap>
<select id="getByUuid" resultMap="MyEntityResultMap">
<!-- some sql code here -->
</select>
</mapper>
Обратите внимание, что атрибут namespace
в элементе <mapper>
в MyEntityMapper.xml
указывает на некоторый несуществующий преобразователь non.existent.package.NonExistentMapper
, тогда как на самом деле он должен указывать на my.mappers.MyEntityMapper
.