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

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

MyBatis 核心配置文件详解

 
 

 
 

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

 
 

(1)位置:建议在
src 下

 
 

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

 
 

 
 

 
 

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

 
 

 
 

 
 

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

 
 

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

 
 

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

 
 

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

 
 

 
 

 
 

 
 

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

 
 

 
 

 
 

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

 
 

 
 

 
 

 
 

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

 
 

(1)properties(属性)

 
 

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

 
 

 
 

如:读取外部属性文件

 
 

 
 

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

 
 

 
 

 
 

(2)settings(设置)*

 
 

用于改变
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

 
 

 
 

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

 
 

 
 

 
 

 
 

(3)typeAliases(类型别名)*

 
 

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

 
 

 
 

如:

 
 

 
 

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

的地方

 
 

其中:

 
 

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

 
 

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

 
 

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

 
 

 
 

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

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

 
 

如:

 
 

 
 

 
 

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

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

 
 

 
 

 
 

(4)typeHandlers(类型处理器)

 
 

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

 
 

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

 
 

 
 

 
 

(5)plugins(插件)*

 
 

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

 
 

 

主要为以下四个点:

 
 

1)Executor

 
 

2)ParameterHandler

 
 

3)ResultSetHandler

 
 

4)StatementHandler

 
 

 
 

 
 

(6)environments(环境)

 
 

用于配置环境,其中包括事务管理器和数据源,且
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>

 
 

 
 

 
 

(7)mappers(映射器)*

 
 

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

映射器接口)

 
 

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

 
 

 
 

<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】

MyBatis核心配置文件详解的更多相关文章

  1. mybatis代码生成器配置文件详解

    mybatis代码生成器配置文件详解 更多详见 http://generator.sturgeon.mopaas.com/index.html http://generator.sturgeon.mo ...

  2. mybatis核心文件详解

    MyBatis配置文件详解 configuration  这是配置文件的根元素标签,所有的其他元素都要在这个标签下使用. environments   用于管理所有环境,并可以指定默认使用哪个环境,通 ...

  3. MyBatis 全局配置文件详解(七)

    MyBatis 配置文件作用 MyBatis配置文件包含影响 MyBatis 框架正常使用的功能设置和属性信息.它的作用好比手机里的设置图标,点击这个图标就可以帮助我们查看手机的属性信息和设置功能.其 ...

  4. Elasticsearch基本概念及核心配置文件详解

    Elasticsearch5.X,下列的是Elasticsearch2.X系类配置,其实很多配置都是相互兼容的 1. 配置文件 config/elasticsearch.yml 主配置文件 confi ...

  5. MyBatis核心配置文件详析mybatis-cfg.xml

    <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC & ...

  6. SpringMVC深度探险(四) —— SpringMVC核心配置文件详解

    在上一篇文章中,我们从DispatcherServlet谈起,最终为读者详细分析了SpringMVC的初始化主线的全部过程.整个初始化主线的研究,其实始终围绕着DispatcherServlet.We ...

  7. Mybatis全局配置文件详解(三)

    每个基于Mybatis应用都是以一个SqlSessionFactory实例为中心.SqlSessionFactory实例可以由SqlSessionFactoryBuild获得,而SqlSessionF ...

  8. mybatis主配置文件详解

    mybatis主配置文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configur ...

  9. mybatis Generator配置文件详解

    这里按照配置的顺序对配置逐个讲解,更细的内容可以配合中文文档参照. 1. 配置文件头 <?xml version="1.0" encoding="UTF-8&quo ...

随机推荐

  1. [转]winform CEF

    下载地址: http://opensource.spotify.com/cefbuilds/index.html 来自: NanUI 作者

  2. Jmeter接口压测

    对于各个组件的使用,建议参考官方文档 1. Jmeter参数化,从txt文件读取. 1.txt

  3. seaborn可视化特征的相关性

    import seaborn as sn sn.heatmap(trainX.corr(),vmax=1,square=True)

  4. g++多文件编译

    头文件:A.h void test(); 源文件:A.cpp #include <iostream> #include<thread> #include<chrono&g ...

  5. BFC概念及应用

    定义 块级格式化上下文   特性 1.内部box在垂直方向,一个接一个放置 2.box垂直方向的间距由margin决定    属于同一个BFC的相邻box的margin会发生重叠(外边距重叠)    ...

  6. 在visual code的debugger for chrome中调试webpack构建的项目

    一直使用chrome中内置的调试器, 感觉世界那么美好, 自从学了react之后,使用visual code作为编辑器, 它提供了很多插件, 其中就包括debugger for chrome, 一款使 ...

  7. 代码生成器 CodeSmith 的使用(六)

    在上一篇的版本中,我们生成了数据库所有表中的字段,如果要使数据库中的单个表 生成 PetaPoco 构架下的 ORM 映射,使那怎么办.这是这篇博客的主要内容. 首先来看完整的 Camel 规则模板: ...

  8. [Flutter] 一些面试可能会问基础知识

    1. Flutter 是什么? Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面. Flutter可以与现有的代码一起工作.在全世界,Flutter正在被 ...

  9. MacBook Pro 一月使用体验

    从 2013 年开始,就特别想买 MBP,终于在 2015 年的尾巴用上了 MBPR.原本是要在使用一周后写一份使用体验的,但因为懒,现在拖到一个月了,刚好现在也是2016年的一月,就把标题改成一月使 ...

  10. java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransaction.getTimeout()L

    mybatis与springboot集成的时候,报错:java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManag ...