------------------------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. 廖雪峰Java1-2Java程序基础-3整数运算

    1.四则运算规则 int i =(100 + 200) * (99 -88);//3300 int n = i + 9;//3309 //除法结果为整数 int q = n / 100;//33 // ...

  2. vlc的应用之二:vlc的ActiveX及cab

    请移步https://higoge.github.io/,所有下载资料在那个博客都能找到.谢谢. http://jeremiah.blog.51cto.com/ 2009-05-14补充:8. Act ...

  3. git clone的时候filename too long解决办法

    在git bash中,运行下列命令: git config --global core.longpaths true

  4. 第14章 UDP编程(3)_利用UDP实现广播功能

    3. 广播的介绍 (1)广播 ①广播实现一对多的通信,如QQ群 ②它通过向广播地址发送数据报文实现的 (2)SO_BROADCAST选项 ①SO_BROADCAST选项控制着UDP套接字是否能发送广播 ...

  5. 并发基础(三) java线程优先级

      在不同的JVM中(JVM也算是一个操作系统),有着不同的CPU调度算法,对于大部分的JVM来说,优先级也是调度算法中的一个参数.所以,线程优先级在一定程度上,对线程的调度执行顺序有所影响,但不能用 ...

  6. Sklearn数据集与机器学习

    sklearn数据集与机器学习组成 机器学习组成:模型.策略.优化 <统计机器学习>中指出:机器学习=模型+策略+算法.其实机器学习可以表示为:Learning= Representati ...

  7. 扯皮的cplex-感觉时间不对

    import ilog.cplex.CpxMult; import ilog.cplex.CpxNumExpr; import ilog.cplex.IloCplex; import ilog.con ...

  8. WINdows常用监控相关

    参考网址: http://www.jb51.net/article/49986.htm 一.图新Shell下: 1.    最直观的:(在运行里面输入CMD,以下命令都是在CMD下输入的:) 输入 s ...

  9. 9. PD逆向工程--由数据库转为模型(ER图)

    步骤: 1. 在控制面板-->管理工具(如果没找到管理工具,查看方式改为大图标)-->数据源(ODBC)-->用户DSN -->用户数据源下添加一个数据源(这里根据情况添加数据 ...

  10. 万字总结:学习MySQL优化原理,这一篇就够了!

    前言 说起MySQL的查询优化,相信大家收藏了一堆奇技淫巧:不能使用SELECT *.不使用NULL字段.合理创建索引.为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的 ...