在MyBati配置文件中,在configuration标签有多个子标签。其层次结构图如图::
configuration
|---properties(属性)
|--settings(全局配置参数)
|--typeAliases(类型别名)
|--TypeHandles(类型处理器)
|--environments(环境集合属性对象)
|--|--environments(环境配置)
|--|--|--transactionManager(事务管理)
|--|--|--dataSource(数据源)
|--mapper(映射)
|--objectFactory(对象工厂)
|--plugins(插件)
属性properties
它可以将配置值具体到一个属性文件中,并且使用属性文件的键名作为占位符,如果<properties>中定义的元素和属性文件中定义的键名相同,则它们会被属性文件的定义覆盖。
<properties>是一个配置属性的元素,它可以给系统配置一些运行参数,如数据库连接信息、系统账号、初始化配置项等,这样做的目的是方便后期维护和修改
在MyBatis中使用配置信息有三种方式:
方式一:<property>子元素
方式二:<properties>元素的resource属性
方式三:SqlSessionFactoryBuilder对象build()方法的属性参数
<settings>元素
<settings>包含MyBatis的重要配置内容,这些配置项控制着MyBatis运行时的状态和行为。<settings>元素具体所包含的配置项内容如下所示
<typeAliases>元素
<typeAliases>可为 Java 类型设置一个缩写名字(别名)。 它仅用于 XML 配置,意在降低冗余的全限定类名书写。
为了方便开发,MyBatis为一些常用的Java类型提供了别名,这些别名由MyBatis默认设置,无须定义即可在MyBatis中直接使用。具体如表所示
<typeHandlers>元素
<typeHandlers>在设置预处理语句(PreparedStatement)中的参数或从结果集中取出一个值时,都会用类型处理器将获取到的值以合适的方式转换成Java类型。它的核心功能就是将数据由Java类型转化成JDBC类型,或者由JDBC类型转化为Java类型。
MyBatis默认的typeHandler无须显式声明,MyBatis会自动探测数据类型并完成转换。具体如下表所示
自定义typeHandler
也可以使用包类型处理器,让MyBatis自动查找类型处理器
<ObjectFactory>元素
自定义ObjectFactory
<environments>元素
<environments>元素中可以定义多个环境,但每个SqlSessionFactory 实例只能选择一种环境,通过default属性来指定默认环境ID。