【Mybatis源码解析】-Configuration

Mybatis源码解析-Configuration

​ 关于Mybatis的配置信息,都是解析在Configuration对象中,找个对象在Mybatis中核心的一个类

下面一段就是使用mybati的代码

// 获取构建器
    SqlSessionFactoryBuilder factoryBuilder = new SqlSessionFactoryBuilder();
    // 解析XML 并构造会话工厂
    factory = factoryBuilder.build(ExecutorTest.class.getResourceAsStream("/mybatis-config.xml"));
    SqlSession sqlSession = factory.openSession();
    UserMapper mapper = sqlSession.getMapper(UserMapper.class);
    User user = mapper.selectByid(1);
    System.out.println("user = " + user);

一、configuration的整体配置体系

configuration的整体配置体系如图所示:

每个配置模块都有对于的解析类,在初始化的时候进行配置解析。下图画出了configuration对象中所有的熟悉结构

2、配置文件解析步骤

整体的流程就是如图,先解析加载配置文件,交给不同的解析器处理,然后返回一个configuration对象。

每个模块的配置解析对应的类,做了个表格,方便理解。

说明 文件 解析器 对象
主配置文件 mybatis-config.xml XMLConfigBuilder Configuration
映射文件 UserMapper.xml(示例) XMLMapperBuilder ParameterMap..
Statement元素 <select|insert|update|delete/> XMLStatementBuilder MappedStatement
动态Sql运算元素 <if|foreach/> XMLScriptBuilder BoundSql
注解元素 @Select @update MapperAnnotationBuilder MappedStatement
posted @ 2020-07-19 00:12  一懒众衫小QAQ  阅读(92)  评论(0编辑  收藏  举报