每天早上七点三十,准时推送干货
hello~各位读者好,我是鸭血粉丝(大家可以称呼我为「阿粉」)。今天,阿粉带着大家来了解一下
mybatis
接口的创建。
1.上期回顾
首先,我们还是回顾一下上篇文件的类容。先看下这个测试类,大家还有印象吗:
public class MybatisTest {
@Test
public void testSelect() throws IOException {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session = sqlSessionFactory.openSession();
try {
FruitMapper mapper = session.getMapper(FruitMapper.class);
Fruit fruit = mapper.findById(1L);
System.out.println(fruit);
} finally {
session.close();
}
}
}
上篇源码分析讲了 mybatis
一级缓存的实现原理。这次,我们来了解下 mybatis
接口的创建。
2. mapper接口的创建流程
2.1 SqlSession的getMapper()
首先,我们来看下 FruitMapper mapper = session.getMapper(FruitMapper.class);
这段代码,意思很简单,根据传入的class
获取这个对象的实例。这个流程有点复杂,阿粉带着大家来跟下源码:
首先还是ctrl