mybatis全局配置文件mybatis-config.xml常用参数配置解析

前言:

首先我们可以明确的一点是,mybatis的核心是sqlSession,所有对数据库的操作都封装在其中(这个跟hibernate是一样的)。所以如果要使用mybatis第一步是获得sqlSession,mybatis提供了sqlSessionFactory工厂方法来构建sqlSession,一般情况我们都是通过配置文件来构建sqlSessionFactory的。看下面代码:

String resource = "../mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

我们可以看到sqlSessionFactory是通过sqlSessionFactoryBuilder来创建的,而通过源码我们清楚地看到,mybatis通过

XMLConfigBuilder解析配置文件构建配置对象Configuration,生成sqlSessionFactory。如果说sqlSession是mybatis的核心,那么全局配置文件就是其基础。它包含了框架所有的配置。

public SqlSessionFactory build(InputStream inputStream, String environment, Properties properties) {
    try {
        XMLConfigBuilder parser = new XMLConfigBuilder(inputStream, environment, properties);
        Configuration config = parser.parse(); //Mybatis框架配置对象
        return new DefaultSqlSessionFactory(config);
    } catch (Exception e) {
        throw ExceptionFactory.wrapException("Error building SqlSession.", e);
    } finally {
        try {
            inputStream.close();
        } catch (IOException e) {}
    }
}

 1.typeAliases属性

别名,就是用来简化配置的。

 
        
        
 

2.plugins属性

提供一种插件(plugin)的功能,虽然叫做插件,但其实这是拦截器功能。


        
        
            
            

            
            
            
            

            
            
            

            
            
            

            
            
            
            

            
            
            
            
            
            
            

            
            
        

3.settings属性

setting属性和properties属性一样,也是配置参数名和参数值。但到底和properteis有什么区别呢?我们知道properties的配置参数是为其他的配置服务的,配置项不是不定的。而settings的配置项是配置Configuration对象的属性的,配置项定死就那么几个,不配的话框架有默认值。 


        
        
        
        
 

 4.environments属性

要是Mybatis和Spring整合的话,那environments的配置是省略的。此配置项是配置数据库连接池和事物管理的。若何Spring配合使用,则事务的管理和数据库连接池一般都是交给Spring控制。


    
         
         
            
            
            
            
        
    
    
        
        
            
            
            
            
        
    

5.mapper属性

对应实体的映射文件,在此不赘述。

你可能感兴趣的:(mybatis,mybatis,config.xml,全局配置文件)