首页 > 体育 >

mybatis源码之内部基本处理流程

2018-06-03 04:30:22 网络整理 阅读:181 评论:0

mybatis使用中的模块交互

在之前的学习中我们知道了,一个简单的基础mybatis项目基本会包含如下几个必要的部分:

mybatis源码之内部基本处理流程

从上图中可以清晰的看到,整个数据的走向最终是指向了业务类,也就是说无论是配置还是接口,还是依赖包,最终的作用都是为了业务,为了解决实际问题。

同时,mybatis.xml配置文件和业务类,以及mapper.xml映射文件都需要依赖包的支持,因为里边的类或者标签需要用到mybatis封装的类。

之后,mapper.xml映射文件也指向了mybatis.xml,意思是在mybatis.xml文件中需要指定映射文件,否则相应的mapper映射便没有被引用,也就无效。

而之后的数据实体类和数据操作接口又都指向了mapper.xml,意思是mapper里的配置就是数据和接口的整合,从而成为具体的实现。

上边整理的图中各模块内容的交互,我觉得可以看成是实际开发项目中需要我们自己处理的内容交互,这些基本都还是处理用的阶段。

那么接下来要说的,就是mybatis内部的实现,看一看mybatis里边是如何整合和运行的。

mybatis运行时内部流程

程序运行,首先会进入程序入口,我们之前的例子中就是实际的业务处理类,也就是测试类,里边的主要代码回顾如下:

InputStream inputStream = Resources.getResourceAsStream("mybatis.xml");SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);SqlSession sqlSession = sessionFactory.openSession(true);UserMapper userMapper = sqlSession.getMapper(UserMapper.class);List list = userMapper.findUsers();

上边的代码没有分支,就是一个简单的顺序结构。顺序结构的程序运行时从上往下,但为了分析出运行过程中的关键点,我决定从下往上来看。

相关文章