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详细的执行流程

3.CRUD

posted @ 2022-09-30 11:16  LiWeixiao  阅读(22)  评论(0)    收藏  举报