MyBatis基础入门《五》核心配置文件
MyBatis基础入门《五》核心配置文件
描述:
在前面的章节中,简单的学习使用了一下mybatis,对于配置文件没有过多详细说明。
这里先描述项目中的一个核心配置文件:mybatis-config.xml 文件。
资料参考:http://www.mybatis.org/mybatis-3/
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd"> <!-- 配置 -->
<configuration> <!-- 可以配置在java属性配置文件中 -->
<properties></properties> <!-- 修改MyBatis在运行时的行为方式 -->
<settings></settings> <!-- 为java类命令一个别名(简称) -->
<typeAliases></typeAliases> <!-- 类型处理器 -->
<typeHandlers></typeHandlers> <!-- 对象工厂 -->
<objectFactory type=""></objectFactory> <!-- 插件 -->
<plugins></plugins> <!-- 环境 -->
<environments default=""> <!-- 环境变量 -->
<environment id=""> <!-- 配置事物管理器 -->
<transactionManager type=""></transactionManager>
<!-- 配置数据源 -->
<dataSource type=""></dataSource> </environment> </environments> <!-- 映射器 -->
<mappers></mappers> </configuration>
注意:
上面的这个配置文件中的标签,在书写的时候必须要按照这个顺序,不然Mybatis在解析这个文件的时候,会报错的。
<properties></properties>
>>> 配置properties元素的两种方式
1. 通过外部指定的方式(database.properties),实现动态配置
> 配置properties的resource属性
前面章节中使用是这种方式,在位置1处,进行外部引入。然后在位置2处使用。
2. 直接配置为xml,实现动态配置
> properties 的name和value
properties问题:
1. 若两种方式同时都用了,那么哪种方式优先?
> 配置properties的resource指定
> 配置property的name和value
测试方式:
1. 修改标签property的value属性值,运行查询测试方法,可以正常执行。
2. 恢复被修改的property标签的value属性值,然后修改database.properties文件中的数据,在运行查询测试方法,程序抛出异常错误。
结论: resource属性值的优先级高于property子节点配置的值。
<settings></settings>
1. 用来修改MyBatis运行时的行为方式
2. 主要是MyBatis的一些全局配置属性的设置
例如:配置一个延迟加载
<typeAliases></typeAliases>
1. 用来修改类型别名
2. 仅仅只关联XML配置,简写冗长的java名,用法见:《MyBatis基础入门《三》Select查询集合》 select查询方式3
<environments></environments>
1. 表示配置MyBatis的多套运行环境,将SQL映射到多个不同的数据库上
2. 子元素节点:environment,但是必须指定其中一个为默认运行环境(通过default指定)
<transactionManager></transactionManager> 事物管理器
<transactionManager type = "[ JDBC | MANAGED]" />
jdbc | managed 托管
<dataSource></dataSource>
>>> dataSource元素使用的基本的JDBC数据源接口来配置JDBC连接对象的资源
>>> 有三种内建的数据源类型
<dataSource type="[ UNPOOLED | POOLED | JNDI ]" />
<mappers></mappers>
1. 映射器,定义SQL映射语句
2. 须在配置中引用Mapper映射文件
... ...
如有问题,欢迎纠正!!!
如有转载,请标明源处:https://www.cnblogs.com/Charles-Yuan/p/9862302.html
参考资料:http://www.mybatis.org/mybatis-3/zh/configuration.html
最新文章
- ComponetArt Upload上传组件
- CSS3-transform,2D动画实例
- python装饰器示例
- mysql服务器io等待高定位与分析
- 使用PS3手柄在PC玩Unity3D游戏
- 37.Activity之间的转换以及数据的传递(Intent)学习
- Android 4.2蓝牙介绍
- ibatis.net demo
- TreeView
- asp:HyperLink vs asp:LinkButton
- 第一百二十节,JavaScript事件对象
- js实现菜单折叠导航
- 4.2 例题: 统计字符数 poj2247
- mysql查询进程、导入数据包大小设置
- ESXI 6.5安装详细步骤
- jmeter 写正则表达式
- 填一个laravel视图缓存没有及时更新的坑
- Maven依赖范围及传递
- Catalan数与出栈顺序个数,Java编程模拟
- adb 安装apk到只当设备
热门文章
- day7:set和深浅copy
- ionic cordova screenshot 使用和操作
- ionic中数据进行操作后,需要直接显示改变后的数据,数据刷新
- iOS-方法之+ initialize 与 +load
- [math][mathematica] mathematica入门
- 【python基础】常用的内置函数
- python 版Faster Rcnn
- MySQL 5.5 服务器变量详解(二)
- MongoDB与关系型数据库 区别
- centos安装Django之二:pip3安装