4 MyBatis注解
八、注解
1.面向接口编程
根本原因: 解耦,可拓展,提高复用,分层开发中,上层不用管具体的实现,大家都遵守共同的标准,使得开发变得容易,规范性更好。
关于接口的理解:
接口从更深层次的理解,应是定义(规范,约束)与实现(名实分离的原则)的分离。-接口的本身反映了系统设计人员对系统的抽象理解。
接口应有两类:
- 第一类是对一个个体的抽象,它可对应为-一个抽象体(abstract class);
- 第二类是对一个个体某-方面的抽象, 即形成一个抽象面(interface) ;
一个体有可能有多个抽象面。抽象体与抽象面是有区别的。
2.使用注解开发
1.注解在接口上实现,UserMapper.java
public interface UserMapper {
@Select("select * from mybatis.user")
List<User> getUsers();
}
2.需要在核心配置文件上绑定接口
<!-- 绑定接口 -->
<mappers>
<mapper class="com.liweixiao.dao.UserMapper"/>
</mappers>
3.测试
public class UserDaoTest {
@Test
public void test(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
//底层主要使用反射
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List<User> users=mapper.getUsers();
for (User user : users) {
System.out.println(user);
}
sqlSession.close();
}
}
本质:反射机制实现
底层:动态代理
MyBatis详细的执行流程

浙公网安备 33010602011771号