Mybatis-config.xml配置文件基础配置详解

一、mybatis-config.xml 的作用

mybatis-config.xml是MyBatis核心配置文件,该文件配置了MyBatis的一些全局信息,包含数据库连接信息和Mybatis运行时所需的各种特性,以及设置和影响Mybatis行为的一些属性

二、Mybatis核心配置文件结构

configuration配置
	properties 可以配置在Java属性配置文件中
	settings 修改Mybatis在运行时的行为方式
	typeAliases 为Java类型命名一个别名(简称)
	typeHandlers 类型处理器
	objectFactory 对象工厂
	plugins 插件
	environments 环境
		environment 环境变量
			transactionManager 事务管理器
			dataSource 数据源
   		mappers 映射器

三、配置文件讲解

configuration

configuration元素是整个XML配置文件的根节点,相当于MyBatis的总管

MyBatis所有的配置信息都会存放在这里面。Mybatis提供了设置这些配置信息的方法。

Configuration可从配置文件里获取属性值,也可以通过程序直接设置

properties元素

properties元素描述的都是外部化、可替代的属性

  1. 通过外部指定的方式(通过在典型Java属性配置文件 如database.properties)

    database.properties

    driver=com.mysql.jdbc.Driver
    url=jdbc:mysql://127.0.0.1:3306/smbms
    user=root
    password=root
    

    mybatis-config.xml 引入database.properties

    !--引入 database.properties 文件-->
    
    	……
    	
            
            
            
            
    	
    

    上述代码中,driver url username password属性将会用database.properties文件中的值来替换

  2. 直接配置为xml,并使用这些属性对配置项实现动态配置

    mybatis-config.xml

    !-- properties元素中直接配置property属性-->
    
        
        	
        
    	……
    	
            
            
            
            
        
    

    在上述代码中,driver url username password将会由properties元素中设置的值来替换

  3. 两种方式优先级

    resource属性值的优先级高于property子节点配置的值

settings元素

settings元素的作用是设置一些非常重要的选项,用于设置和改变Mybatis运行中的行为

settings元素支持的属性

cacheEnabled : 对在此配置文件下的所有cache进行全局性开/关设置 - true|false

lazyLoadingEnabled : 全局性设置懒加载。如果设为false,则所有相关联的设置都会被初始化加载 -true|false

autoMappingBehavior : Mybatis对于resultMap自动映射的匹配级别 -PAPTLAL|NONE|FULL

type Aliases元素

配置类型别名,通过与MyBatis的SQL映射文件相关联,减少输入多余的完整类名,以简化操作

1.基础配置


    
    
    
    ……

2.简便配置

第一种方法弊端在于:如果一个项目中有多个POJO,需要一一进行配置。所以在第二种方法中,我们通过name属性直接指定包名,让Mybatis自动去扫描指定包下的JavaBean,并设置一个别名