SqlMapConfig.xml详解
·Mybatis的全局配置文件SqlMapConfig.xml内容
properties(属性)
settings(全局配置参数)
typeAliases(类型别名)
typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)
environments(环境集合属性对象)
environment(环境子属性对象)
transactionManager(事务管理器)
dataSource(数据源)
mappers(映射器)
· properties(属性)
jdbc.driver=oracle.jdbc.OracleDriver
jdbc.url=jdbc:oracle:thin:@localhost:1521:ORCL
jdbc.password=a5121921
jdbc.username=System
将数据库连接参数配置到db.properties中,原因:方便对参数进行统一管理,其他xml可以引用该db.properties。
使用<properties>标签引入db.properties文件
<!-- 加载properties文件,resource属性值为properties文件位置 -->
<properties resource="db.properties"></properties>
引入properties文件参数使用${参数}的形式
properties使用注意事项:
-Mybatis将会按照下面的顺序来加载属性值:
①在properties元素体内定义的属性首先被读取
②然后会读取properties元素中resource或url加载的属性,它会覆盖已读的同名属性。
③最后读取parameterType传递的属性,他会覆盖已读取的同名属性
注意不要在properties元素体内添加任何属性值,只讲属性定义在properties文件中。在properties文件中定义属性名要有一定的特殊性:如xxx.xxx,防止被其他不需要读取的属性值读取。
·setting全局参数配置
mybatis的框架在运行时可以调整一些运行参数。不如:开启二级缓存,开启延迟加载。
mybatis的全局参数将会影响mybatis的运行行为
·typeAliases(别名)
1、需求
在mapper.xml中定义很多statement,statement需要parameterType指定输入参数的映射类型、需要resultType指定输出结果的映射类型。如果再指定类型的时候输入类型全路径,不方便进行开发,可以针对parameterType和resultType定义一些别名,在mapper.xml中通过定义别名,方便开发 。
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 |
map | Map |
3、自定义别名
在configuration标签中定义
(1)单个别名
<typeAliases>
<!-- 针对单个别名定义
type:别名代表类型的路径
alias:定义的别名
-->
<typeAlias type="my.mybatis.po.User" alias="user"/>
</typeAliases>
(2)批量定义别名(常用)
直接在类型中使用
·typeHandlers(类型处理器)
mybatis中通过typeHandlers完成jdbc类型和java类型的转换,例如:
上述的输入类型在java中是String类型,而通过typeHandlers会自动把String类型转换成jdbc的varchar类型。
·mapper(映射配置)
1、通过resource加载单个映射文件
(1)<mapper resource="" />
(2)<mapper url=""/>
2、通过mapper接口加载单个映射文件
3、通过mapper接口所在的包名进行批量加载映射文件(推荐使用)