mybatis由浅入深day01_6SqlMapConfig.xml(6.2settings全局参数配置_6.3typeAliases(类型别名)_6.4typeHandlers(类型处理器)_6.5mappers(映射配置))
6 SqlMapConfig.xml
mybatis的全局配置文件SqlMapConfig.xml,配置内容和顺序如下:
properties(属性)
settings(全局配置参数)
typeAliases(类型别名)
typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)
environments(环境集合属性对象)
environment(环境子属性对象)
transactionManager(事务管理)
dataSource(数据源)
mappers(映射器)
6.1 properties属性
需求:
将数据库连接参数单独配置在db.properties中,只需要在SqlMapConfig.xml中加载db.properties的属性值。
在SqlMapConfig.xml中就不需要对数据库连接参数硬编码了。
将数据库连接参数只配置在db.properties中,原因:方便对参数进行统一管理,其它xml可以引用该db.properties。

在sqlMapConfig.xml加载属性文件:

properties特性:
注意: MyBatis 将按照下面的顺序来加载属性:
u 在 properties 元素体内定义的属性首先被读取。
u 然后会读取properties 元素中resource或 url 加载的属性,它会覆盖已读取的同名属性。
u 最后读取parameterType传递的属性,它会覆盖已读取的同名属性。
因此,通过parameterType传递的属性具有最高优先级,resource或 url 加载的属性次之,最低优先级的是 properties 元素体内定义的属性。
建议:
不要在properties元素体内添加任何属性值,只将属性值定义在properties文件中。
在properties文件中定义属性名要有一定的特殊性,如:XXXXX.XXXXX.XXXX
6.2 settings全局参数配置
mybatis框架在运行时可以调整一些运行参数。
比如:开启二级缓存、开启延迟加载。。
全局参数将会影响mybatis的运行行为。
详细参见“学习资料/mybatis-settings.xlsx”文件


6.3 typeAliases(类型别名)重点
6.3.1 需求
在mapper.xml中,定义很多的statement,statement需要parameterType指定输入参数的类型、需要resultType指定输出结果的映射类型。
如果在指定类型时输入类型全路径,不方便进行开发,可以针对parameterType或resultType指定的类型定义一些别名,在mapper.xml中通过别名定义,方便开发。
6.3.2 mybatis默认支持别名
|
别名 |
映射的类型 |
|
_byte |
byte |
|
_long |
long |
|
_short |
short |
|
_int |
int |
|
_integer |
int |
|
_double |
double |
|
_float |
float |
|
_boolean |
boolean |
|
string |
String |
|
byte |
Byte |
|
long |
Long |
|
short |
Short |
|
int |
Integer |
|
integer |
Integer |
|
double |
Double |
|
float |
Float |
|
boolean |
Boolean |
|
date |
Date |
|
decimal |
BigDecimal |
|
bigdecimal |
BigDecimal |
6.3.3 自定义别名
6.3.3.1 单个别名定义

引用别名:

6.3.3.2 批量定义别名(常用)

6.4 typeHandlers(类型处理器)
mybatis中通过typeHandlers完成jdbc类型和java类型的转换。

通常情况下,mybatis提供的类型处理器满足日常需要,不需要自定义.
mybatis支持类型处理器:
|
类型处理器 |
Java类型 |
JDBC类型 |
|
BooleanTypeHandler |
Boolean,boolean |
任何兼容的布尔值 |
|
ByteTypeHandler |
Byte,byte |
任何兼容的数字或字节类型 |
|
ShortTypeHandler |
Short,short |
任何兼容的数字或短整型 |
|
IntegerTypeHandler |
Integer,int |
任何兼容的数字和整型 |
|
LongTypeHandler |
Long,long |
任何兼容的数字或长整型 |
|
FloatTypeHandler |
Float,float |
任何兼容的数字或单精度浮点型 |
|
DoubleTypeHandler |
Double,double |
任何兼容的数字或双精度浮点型 |
|
BigDecimalTypeHandler |
BigDecimal |
任何兼容的数字或十进制小数类型 |
|
StringTypeHandler |
String |
CHAR和VARCHAR类型 |
|
ClobTypeHandler |
String |
CLOB和LONGVARCHAR类型 |
|
NStringTypeHandler |
String |
NVARCHAR和NCHAR类型 |
|
NClobTypeHandler |
String |
NCLOB类型 |
|
ByteArrayTypeHandler |
byte[] |
任何兼容的字节流类型 |
|
BlobTypeHandler |
byte[] |
BLOB和LONGVARBINARY类型 |
|
DateTypeHandler |
Date(java.util) |
TIMESTAMP类型 |
|
DateOnlyTypeHandler |
Date(java.util) |
DATE类型 |
|
TimeOnlyTypeHandler |
Date(java.util) |
TIME类型 |
|
SqlTimestampTypeHandler |
Timestamp(java.sql) |
TIMESTAMP类型 |
|
SqlDateTypeHandler |
Date(java.sql) |
DATE类型 |
|
SqlTimeTypeHandler |
Time(java.sql) |
TIME类型 |
|
ObjectTypeHandler |
任意 |
其他或未指定类型 |
|
EnumTypeHandler |
Enumeration类型 |
VARCHAR-任何兼容的字符串类型,作为代码存储(而不是索引)。 |
6.5 mappers(映射配置)
6.5.1 通过resource加载单个映射文件

6.5.2 通过mapper接口加载单个mapper

按照上边的规范,将mapper.java和mapper.xml放在一个目录,且同名。

注意:此种方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中。
6.5.3 批量加载mapper(推荐使用)

注意:此种方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中。
mybatis由浅入深day01_6SqlMapConfig.xml(6.2settings全局参数配置_6.3typeAliases(类型别名)_6.4typeHandlers(类型处理器)_6.5mappers(映射配置))的更多相关文章
- Mybatis配置文件SqlMapConfig.xml中的标签
SqlMapConfig.xml配置文件中的属性 1 配置内容 properties(属性) settings(全局配置参数) typeAliases(类型别名) typeHandlers(类型处理器 ...
- Mybatis 注入全局参数
在项目中使用mybatis作为dao层,大部分时间都需要使用到mybatis提供的动态sql功能,一般情况下所有的表都是在同一个数据库下的,进行数据操作时都是使用jdbc中默认的schema.但是如果 ...
- MyBatis学习--SqlMapConfig.xml配置文件
简介 SqlMapConfig.xml是MyBatis的全局配置文件,在前面的文章中我们可以看出,在SqlMapConfig.xml主要是配置了数据源.事务和映射文件,其实在SqlMapConfig. ...
- 五 mybatis的SqlMapConfig.xml详解
SqlMapConfig.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE conf ...
- mybatis系列-05-SqlMapConfig.xml详解
mybatis的全局配置文件SqlMapConfig.xml,配置内容如下: properties(属性) settings(全局配置参数) typeAliases(类型别名) typeHandler ...
- 【MyBatis】Mapper XML 文件
Mapper XML文件 MyBatis 的真正强大在于它的映射语句,也是它的魔力所在.由于它的异常强大,映射器的 XML 文件就显得相对简单.如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立 ...
- MyBatis - 3.Mapper XML映射文件
SQL 映射文件有很少的几个顶级元素(按照它们应该被定义的顺序): cache – 给定命名空间的缓存配置. cache-ref – 其他命名空间缓存配置的引用. resultMap – 是最复杂也是 ...
- mybatis学习(一)-------XML 映射配置文件详解
XML 映射配置文件 MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置(settings)和属性(properties)信息.文档的顶层结构如下: configuration 配 ...
- mybatis由浅入深day01_3mybatis框架介绍
3 mybatis框架 3.1 mybatis是什么? mybatis是一个持久层的框架,是apache下的顶级项目. mybatis托管到goole code下,再后来托管到github下(http ...
随机推荐
- Python 2.7.9 Demo - 015.元组的定义、取值、遍历
#coding=utf-8 #!/usr/bin/python final_list = ('a', 1, 'b', 2, 'c', 3); print final_list[0]; print fi ...
- 07、在 Windows10 上获得屏幕分辨率
因为在 win10 上,app 在运行的时候,默认不是占满全屏幕,并且 windows runtime 当前没有提供获取 屏幕尺寸的 api.在桌面 win32 api 中,可以获取屏幕尺寸,不过因为 ...
- jQery的方法
<!DOCTYPE html> <html> <head> <script type="text/javascript" src=&quo ...
- 在linux命令行输出颜色
示例: #include <stdio.h> int main() { printf("\e[31;1m Hello, world! \e[0m\n"); } 也就是说 ...
- 多进程监控自动关机工具升级远程关闭多台server——C# works with PowerShell
之前给单位做过一个多进程监控的自动关机工具,详见那篇blog. 这次领导又加了需求,说要等进程监控结束后,不止需要关闭主控端server,还需要关闭其他servers.于是就用到了我上篇文章所介绍的知 ...
- 纯css3实现的3D按钮
前面已经为大家介绍了好多纯css3实现的按钮.今天要再给大家带来一款纯css3实现的3D按钮.在实例中给出了五种颜色的3D按钮.效果图如下: 在线预览 源码下载 实现的代码. html代码: &l ...
- SpringMVC之学习(2)值得接收和传递
springmvc中 @Controller 来标识一个控制器 @RequestMapping来标识请求路径,可以写在类名上,也可以写在方法名上.写在类,表示所有的方法都在此路径下. package ...
- activiti5.13工作流系列(一)-初识
1.什么是工作流? 工作流就是让多个参与者之间按照某种预定义的规则传递文档.信息或任务的过程,工作流由实体(Entity).参与者(Participant).流程定义(Flow Definition) ...
- 【Unity笔记】Behaviour Designer的使用方法
Tasks列表 -- Composites选项 Sequence:图标是“箭头”,相当于And逻辑.下接多个子任务,它们从左到右依次执行.所有子任务执行成功,则Sequence返回成功:任一子任务执行 ...
- uWSGI的stats注释,送给需要的人,欢迎指正
吐槽先,对于uWSGI状态信息没有文档说明这样一个现实,我只想说一句:F*CK YOU!!! 花了2天时间,累得眼珠子疼,针对这鬼畜的stats,借助Total Commander和VS大概撸了一边u ...