Fork me on GitHub

MyBatis核心配置文件详解

------------------------siwuxie095

   

   

   

   

   

   

   

   

   

MyBatis 核心配置文件详解

   

   

1、核心配置文件的名称和位置没有固定要求

   

1)位置:建议在 src

   

2)名称:建议为 mybatis-config.xml

   

   

   

2、核心配置文件的内容全部写在根标签 <configuration>

   

   

   

3、核心配置文件的内容组成

   

第一部分:配置环境(必须)

   

第二部分:其它配置(可选)

   

第三部分:引入映射配置文件(必须)

   

   

   

   

4、核心配置文件中元素的配置顺序可参照下图

   

   

   

参考链接:http://www.mybatis.org/mybatis-3/zh/configuration.html

   

   

   

   

5、核心配置文件中的主要标签

   

1properties(属性)

   

用于设置属性,且这些属性都是可外部配置和可动态替换的

   

   

如:读取外部属性文件

   

   

「属性文件 也称 资源配置文件,相对于核心配置文件而言,它是外部的」

   

   

   

2settings(设置)*

   

用于改变 MyBatis 的运行时行为

   

1

   

参数:cacheEnabled

   

描述:该配置影响的所有映射器中配置的缓存的全局开关

   

有效值:true | false

   

默认值:true

   

   

2

   

参数:lazyLoadingEnabled

   

描述:延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。

特定关联关系中可通过设置fetchType属性来覆盖该项的开关状态

   

有效值:true | false

   

默认值:false

   

   

3

   

参数:aggressiveLazyLoading

   

描述:当开启时,任何方法的调用都会加载该对象的所有属性。否则,

每个属性会按需加载(参考lazyLoadTriggerMethods)

   

有效值:true | false

   

默认值:false (true in 3.4.1)

   

   

4

   

参数:mapUnderscoreToCamelCase

   

描述:是否开启自动驼峰命名规则(camel case)映射,即从经典数据库

列名 A_COLUMN 到经典 Java 属性名 aColumn 的类似映射

   

有效值:true | false

   

默认值:false

   

   

如:开启自动驼峰命名规则映射

   

   

   

   

3typeAliases(类型别名)*

   

用于为 Java 类型设置一个短的名字,以减少类完全限定名的冗余

   

   

如:

   

   

当这样配置时,User 可以用在任何使用 com.siwuxie095.entity.User

的地方

   

其中:

   

1)type 为 Java 类型,alias 为别名名称

   

2)建议将别名设置为类名

   

3)别名首字母不区分大小写,建议大写

   

   

当然,也可以指定一个包名,MyBatis 会自动扫描该包下的所有类,

并自动生成对应别名(默认为类名)

   

如:

   

   

   

另外,MyBatis 也内置了许多相应的类型别名,即 默认类型别名,

其中有基本数据类型、包装类、集合类

   

   

   

4typeHandlers(类型处理器)

   

用于在参数映射和结果映射时,将值以合适的方式转换成 Java 类型

   

「MyBatis 提供了许多默认的类型处理器,一般不需要自定义」

   

   

   

5plugins(插件)*

   

用于在已映射语句执行过程中的某一点进行拦截调用,所以 插件 也称 拦截器

   

 

主要为以下四个点:

   

1)Executor

   

2)ParameterHandler

   

3)ResultSetHandler

   

4)StatementHandler

   

   

   

6environments(环境)

   

用于配置环境,其中包括事务管理器和数据源,且 MyBatis 可以

配置成适应多种环境(开发环境、测试环境、生产环境)

   

   

如:配置开发环境

   

   

   

<environments default="development">

<environment id="development">

 

<transactionManager type="JDBC"/>

 

<dataSource type="POOLED">

<property name="driver" value="${jdbc.driver}"/>

<property name="url" value="${jdbc.url}"/>

<property name="username" value="${jdbc.username}"/>

<property name="password" value="${jdbc.password}"/>

</dataSource>

 

</environment>

</environments>

   

   

   

7mappers(映射器)*

   

用于引入包含映射语句的文件(映射配置文件 映射器接口)

   

法一:指定映射配置文件的相对路径

   

   

<mappers>

 

<mapper resource="com/siwuxie095/mapper/UserMapper.xml"/>

 

</mappers>

   

   

法二:指定映射配置文件的绝对路径

   

   

<mappers>

 

<mapper url="file:///E:/workspace/TestMyBatis/src/com/siwuxie095/mapper/UserMapper.xml"/>

 

</mappers>

   

   

法三:指定映射器接口的相对路径

   

   

<mappers>

 

<mapper class="com.siwuxie095.mapper.UserMapper"/>

 

</mappers>

   

   

法四:指定映射器接口的包名

   

   

<mappers>

 

<package name="com.siwuxie095.mapper"/>

 

</mappers>

   

   

注意:

   

1)对于法一和法二,建议将映射配置文件放在映射器接口所在包下

   

2)对于法三和法四,必须将映射配置文件放在映射器接口所在包下

   

   

   

   

   

   

   

   

   

【made by siwuxie095】

posted on 2018-01-28 23:33  siwuxie095  阅读(686)  评论(0编辑  收藏  举报

导航