title: MyBatis 3 - Spring MVC. Type interface is not known to the MapperRegistry
body: <p>I don't know the problem here. The other mappers works, but this don't. The excepcion is thrown when I try get the Mapper: <code>session.getMapper(ModeloDAO.class)</code>. Maybe is an error with byte[] field or with . I've try without association and byte[] field, but the problem persist.</p>
  
  <p>Model:</p>
  
  <pre><code>@Alias("Modelo")
  public class Modelo {
  
      private int id;
      private String nombre;
      private String estado;
      private Date fechaCreacion;
      private Date creadoPor;
      private byte[] foto;
      private Marca marca;
  
      public Modelo() {
  
      }
  
      public Modelo(String nombre, String estado, Date fechaCreacion, Date creadoPor,
                      byte[] foto, Marca marca) {
          super();
          this.nombre = nombre;
          this.estado = estado;
          this.fechaCreacion = fechaCreacion;
          this.creadoPor = creadoPor;
          this.foto = foto;
          this.marca = marca;
      }
  
      public int getId() {
          return id;
      }
  
      public void setId(int id) {
          this.id = id;
      }
  
      public String getNombre() {
          return nombre;
      }
  
      public void setNombre(String nombre) {
          this.nombre = nombre;
      }
  
      public String getEstado() {
          return estado;
      }
  
      public void setEstado(String estado) {
          this.estado = estado;
      }
  
      public Date getFechaCreacion() {
          return fechaCreacion;
      }
  
      public void setFechaCreacion(Date fechaCreacion) {
          this.fechaCreacion = fechaCreacion;
      }
  
      public Date getCreadoPor() {
          return creadoPor;
      }
  
      public void setCreadoPor(Date creadoPor) {
          this.creadoPor = creadoPor;
      }
  
      public byte[] getFoto() {
          return foto;
      }
  
      public void setFoto(byte[] foto) {
          this.foto = foto;
      }
  
      public Marca getMarca() {
          return marca;
      }
  
      public void setMarca(Marca marca) {
          this.marca = marca;
      }
  
  }
  </code></pre>
  
  <p>Mapper:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;!DOCTYPE mapper
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
      "http://mybatis.org/dtd/mybatis-3-mapper.dtd"&gt;
  
  &lt;mapper namespace="com.acme.repository.ModeloDAO"&gt;
      &lt;resultMap id="modeloResult" type="Modelo"&gt;
          &lt;id property="id" column="modelo_id" /&gt;
          &lt;result property="nombre" column="nombre" /&gt;
          &lt;result property="estado" column="estado" /&gt;
          &lt;result property="foto" column="foto" javaType="_byte[]" jdbcType="BLOB" /&gt;
          &lt;result property="fechaCreacion" column="fecha_creacion" /&gt;
          &lt;result property="creadoPor" column="creado_por" /&gt;
          &lt;association property="marca" column="marca_id" javaType="Marca"&gt;
              &lt;id property="id" column="marca_id" /&gt;
              &lt;result property="nombre" column="nombre" /&gt;
              &lt;result property="estado" column="estado" /&gt;
              &lt;result property="fechaCreacion" column="fecha_creacion" /&gt;
              &lt;result property="creadoPor" column="creado_por" /&gt;
          &lt;/association&gt;
      &lt;/resultMap&gt;
  
      &lt;select id="list" resultMap="modeloResult"&gt;
          select
                      modelos.modelo_id,
                      modelos.nombre,
                      modelos.estado,
                      modelos.foto,
                      modelos.fecha_creacion,
                      marcas.marca_id,
                      marcas.nombre as nombreM,
                      marcas.estado,
                      marcas.fecha_creacion
  
              from 
                  modelos,marcas
              where
                  modelos.marca_id=marcas.marca_id;
      &lt;/select&gt;
  
      &lt;select id="searchById" resultMap="modeloResult" parameterType="int"&gt;
          select * from modelos where modelo_id = #{id}
      &lt;/select&gt;
  
      &lt;select id="searchByMarca" resultMap="modeloResult" parameterType="int"&gt;
          select * from modelos where marca_id = #{marcaId}
      &lt;/select&gt;
  
      &lt;insert id="save" parameterType="Modelo"&gt;
          insert into modelos(nombre, creado_por, foto) values(#{nombre}, #{creadoPor}, #{foto})
      &lt;/insert&gt;
  
      &lt;update id="update" parameterType="Modelo"&gt;
          update modelos set nombre = #{nombre}, foto = #{foto} where modelo_id = #{id}
      &lt;/update&gt;
  
      &lt;update id="delete" parameterType="int"&gt;
          update modelos set estado = 'INACTIVO' where modelo_id = #{id}
      &lt;/update&gt;
  &lt;/mapper&gt;
  </code></pre>
  
  <p>DAO:</p>
  
  <pre><code>public interface ModeloDAO {
  
      List&lt;Modelo&gt; list();
      Modelo searchById(int id);
      List&lt;Modelo&gt; searchByMarca(int marcaId);
      void save(Modelo m);
      void update(Modelo m);
      void delete(int id);
  }
  </code></pre>
  
  <p>Configuration:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd"&gt;
  &lt;configuration&gt;
      &lt;settings&gt;
          &lt;setting name="logImpl" value="LOG4J"/&gt;
      &lt;/settings&gt;
      &lt;typeAliases&gt;
          &lt;package name="com.acme.model"/&gt;
      &lt;/typeAliases&gt;
      &lt;environments default="development"&gt;
          &lt;environment id="development"&gt;
              &lt;transactionManager type="JDBC"/&gt;
              &lt;dataSource type="POOLED"&gt;
                  &lt;property name="driver" value="com.mysql.jdbc.Driver"/&gt;
                  &lt;property name="url" value="jdbc:mysql://localhost:3306/test"/&gt;
                  &lt;property name="username" value="root"/&gt;
                  &lt;property name="password" value="12345"/&gt;
              &lt;/dataSource&gt;
          &lt;/environment&gt;
      &lt;/environments&gt;
  
      &lt;mappers&gt;
          &lt;mapper resource="mybatis/mapper/MarcaMapper.xml" /&gt;
          &lt;mapper resource="mybatis/mapper/ModeloMapper.xml" /&gt;
      &lt;/mappers&gt;
  &lt;/configuration&gt;
  </code></pre>
  
  <p>Stack trace:</p>
  
  <pre><code>org.apache.ibatis.binding.BindingException: Type interface com.acme.repository.ModeloDAO is not known to the MapperRegistry.
      org.apache.ibatis.binding.MapperRegistry.getMapper(MapperRegistry.java:47)
      org.apache.ibatis.session.Configuration.getMapper(Configuration.java:675)
      org.apache.ibatis.session.defaults.DefaultSqlSession.getMapper(DefaultSqlSession.java:250)
      com.acme.repository.ModeloDAOImpl.list(ModeloDAOImpl.java:22)
      com.acme.service.ModeloService.list(ModeloService.java:20)
      com.acme.controller.ModeloController.list(ModeloController.java:22)
      sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      java.lang.reflect.Method.invoke(Unknown Source)
      org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
      org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)
      org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:111)
      org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:806)
      org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:729)
      org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
      org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
      org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
      org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
      org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
      org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
      org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
  </code></pre>