MyBatis整体架构及运行流程

Mybatis整体构造由数据源配置文件、Sql映射文件、会话工厂与会话、执行器和底层封装对象组成

1.数据源配置文件

通过配置的方式将数据库的配置信息从应用程序中独立出来,由独立的模块管理和配置。Mybatis的数据源配置文件包含数据库驱动、数据库连接地址、用户名密码、事务管理等,还可以配置连接池的连接数、空闲时间等。

一个MapConfig.xml基本的配置信息如下:




  
    
   
      
   
      
        
        
        
        
      
    
  
  
    
  

Mybatismapper文件映射的三种方式

1.使用相对于类路径的资源引用


  

2. 使用映射器接口实现类的完全限定类名


  

3. 使用package元素批量注册Mapper接口


  

 设置资源文件路径

Maven中默认是只会打包resource下的资源文件。如果我们的文件不放在resource, 则需要通过配置告知Maven。


    
        src/main/java
        
            **/*.properties
            **/*.xml
        
        false
    
     
        src/main/resources
        
          **/*.properties
          **/*.xml
          **/*.tld
        
        false
      

2.Sql映射文件

Mybatis中所有数据库的操作都会基于该映射文件和配置的sql语句,在这个配置文件中可以配置任何类型的sql语句。框架会根据配置文件中的参数配置,完成对sql语句以及输入输出参数的映射配置。

Mapper.xml配置文件大致如下:





注:namespace是映射文件唯一标识,不可重复,并且要与mapper接口文件的路径保持一致 。id应该和mapper接口中的方法名保持一致。

3.会话工厂与会话

Mybatis中会话工厂SqlSessionFactory类可以通过加载资源文件,读取数据源配置MapConfig.xml信息,从而产生一种可以与数据库交互的会话实例SqlSession,会话实例SqlSession根据Mapper.xml文件中配置的sql,对数据库进行操作。

InputStream resourceAsStream = Resources.getResourceAsStream("MapConfig.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(resourceAsStream);
SqlSession sqlSession = factory.openSession();

4.运行流程

会话工厂SqlSessionFactory通过加载资源文件获取MapConfig.xml配置文件信息,然后生成可以与数据库交互的会话实例SqlSession。会话实例可以根据Mapper配置文件中的Sql配置去执行相应的增删改查操作

执行流程图:

MyBatis整体架构及运行流程_第1张图片

 

 

 

你可能感兴趣的:(mybatis,架构,java)