MyBatis核心配置文件详解
------------------------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 <environment
<transactionManager
<dataSource <property <property <property <property </dataSource>
</environment> </environments> |
(7)mappers(映射器)*
用于引入包含映射语句的文件(映射配置文件
或
映射器接口)
法一:指定映射配置文件的相对路径

|
<mappers>
<mapper
</mappers> |
法二:指定映射配置文件的绝对路径

|
<mappers>
<mapper
</mappers> |
法三:指定映射器接口的相对路径

|
<mappers>
<mapper
</mappers> |
法四:指定映射器接口的包名

|
<mappers>
<package
</mappers> |
注意:
1)对于法一和法二,建议将映射配置文件放在映射器接口所在包下
2)对于法三和法四,必须将映射配置文件放在映射器接口所在包下
【made by siwuxie095】
MyBatis核心配置文件详解的更多相关文章
- mybatis代码生成器配置文件详解
mybatis代码生成器配置文件详解 更多详见 http://generator.sturgeon.mopaas.com/index.html http://generator.sturgeon.mo ...
- mybatis核心文件详解
MyBatis配置文件详解 configuration 这是配置文件的根元素标签,所有的其他元素都要在这个标签下使用. environments 用于管理所有环境,并可以指定默认使用哪个环境,通 ...
- MyBatis 全局配置文件详解(七)
MyBatis 配置文件作用 MyBatis配置文件包含影响 MyBatis 框架正常使用的功能设置和属性信息.它的作用好比手机里的设置图标,点击这个图标就可以帮助我们查看手机的属性信息和设置功能.其 ...
- Elasticsearch基本概念及核心配置文件详解
Elasticsearch5.X,下列的是Elasticsearch2.X系类配置,其实很多配置都是相互兼容的 1. 配置文件 config/elasticsearch.yml 主配置文件 confi ...
- MyBatis核心配置文件详析mybatis-cfg.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC & ...
- SpringMVC深度探险(四) —— SpringMVC核心配置文件详解
在上一篇文章中,我们从DispatcherServlet谈起,最终为读者详细分析了SpringMVC的初始化主线的全部过程.整个初始化主线的研究,其实始终围绕着DispatcherServlet.We ...
- Mybatis全局配置文件详解(三)
每个基于Mybatis应用都是以一个SqlSessionFactory实例为中心.SqlSessionFactory实例可以由SqlSessionFactoryBuild获得,而SqlSessionF ...
- mybatis主配置文件详解
mybatis主配置文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configur ...
- mybatis Generator配置文件详解
这里按照配置的顺序对配置逐个讲解,更细的内容可以配合中文文档参照. 1. 配置文件头 <?xml version="1.0" encoding="UTF-8&quo ...
随机推荐
- 杂项:GIT (分布式版本控制系统)
ylbtech-杂项:GIT (分布式版本控制系统) Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git的读音为/gɪt/.Git是一个开源的分布式版本控制系统 ...
- [转]win server 2003 + IIS 6 搭建MVC 运行环境
本文来自:http://c.jinhusns.com/bar/t-993 win server 2003 + IIS 6 搭建MVC 运行环境 上一篇 下一篇近乎_问阳 发表于:2014-01-07 ...
- JavaScript方法和技巧大全
原文地址:http://www.jb51.net/article/5688.htm 这篇介绍JavaScript方面的日志,我在是Clang上看到的.作者介绍挺全面的,所以转载过来让感兴趣的朋友看一下 ...
- 关于ie6下png背景透明
今天我突破了一个技术难关,真的是头都大了.. 关于ie6下png背景透明的解决方法,我就不多说了,网上有很多解决方法,我用的是其中的一种: <script type="text/jav ...
- 阿里云EC2+QEMU虚拟机+ROS完全教程!
---恢复内容开始--- 1.安装centos6.5 x64 同时记录,当前centos分配得到的IP,子网掩码,网关,以及MAC!!! 查看IP.mac命令ip add 查看网关命令cat /etc ...
- Spark学习笔记5:Spark集群架构
Spark的一大好处就是可以通过增加机器数量并使用集群模式运行,来扩展计算能力.Spark可以在各种各样的集群管理器(Hadoop YARN , Apache Mesos , 还有Spark自带的独立 ...
- async await promise 执行时序
先用一个例子来说明async await promise的执行顺序 console.log('start'); async function test(){ console.log('111'); a ...
- DRL 教程 | 如何保持运动小车上的旗杆屹立不倒?TensorFlow利用A3C算法训练智能体玩CartPole游戏
本教程讲解如何使用深度强化学习训练一个可以在 CartPole 游戏中获胜的模型.研究人员使用 tf.keras.OpenAI 训练了一个使用「异步优势动作评价」(Asynchronous Advan ...
- Android如何使用Https
什么是Https? HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全 ...
- mysql 更新(二)安装和基本管理
03-MySql安装和基本管理 本节掌握内容: MySQL的介绍安装.启动 MySQL破解密码 MySQL中统一字符编码 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目 ...