大家之前都在学习面向对象编程,也学习过接口。但事实上,在真正的开发中很多时候会选择面向接口编程。
根本原因:
解耦,可拓展,提高复用。
分层开发中,上层不用管具体的实现,大家都遵守共同的标准,使得开发变得更容易,规范性更好。
而注解,就这样应运而生。
此篇简单讲解其实现流程,CRUD完整解析见下篇。
- 注解在接口上实现
public interface UserMapper {
@Select("select * from user")
List getUsers();
}
- 需要在核心配置文件中绑定mapper接口
- 测试
@Test
public void test() {
SqlSession sqlSession = MybatisUtils.getSqlSession();
//底层主要应用反射
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List users = mapper.getUsers();
for (User user : users) {
System.out.println(user);
}
sqlSession.close();
}
使用注解编程,本质上利用反射机制实现。其底层为动态代理。
图示如下:



