Mapper接口到底是什么?
回到之前的部分,在我们注入mapper接口时,我们会调用MapperFactoryBean的getObject()方法,且往下看:
@Override
public T getObject() throws Exception {
return getSqlSession().getMapper(this.mapperInterface);
}
public SqlSession getSqlSession() {
return this.sqlSessionTemplate;
}
通过层层跟踪最终是通过MapperRegistry#getMapper方法获取:
// 入参 stuMapper,sqlSessionTemplate
public <T> T getMapper(Class<T> type, SqlSession sqlSession) {
final MapperProxyFactory<T> mapperProxyFactory = (MapperProxyFactory<T>) knownMappers.get(type);
if (mapperProxyFactory == null) {
throw new BindingException("Type " + type + " is not known to the MapperRegistry.");
}
t