主配置文件简介
1.主配置文件中所有主要的标签如下:
<config>
<properties>用于动态替换内部定义属性</properties>
<settings>用于改变mybatis运行时的行为</settings>
<typeAliases>为java的POJO类起别名</typeAliases>
<typeHadlers>将传入的参数(java类型)转换为(jdbc类型)</typeHadlers>
<objectFactory> </objectFactory>
<plugins> </plugins>
<enviroments>用于数据源的配置
<enviroment>
<transactionManger>配置事务管理器(可配置jdbc和managed两种类型)</transactionManger>
<dataSource>配置数据源</dataSource>
</enviroment>
</enviroments>
<databaseIdProvider> </databaseIdProvider>
<mappers>配置映射文件</mappers>
</config>
注意:
a.根标签下的所有子标签并不是都必须配置,但若要配置时,必须遵守以下先后顺序
b.
mybatis提供了大量默认的内置转换器,可以完成大部分常见的类型转换,若默认的转换器无法满足要求时,可以自定义转换器。
自定义转换器需要实现TypeHeadler接口或继承BaseTypeHeadler类。
c.
将来使用spring整合mybatis后,事务交给spring管理,就不用再配置事务管理器了
d.
配置数据源有3种类型
i.UNPOOLED:无连接池,一般只用于小型应用。
ii.POOLED:连接池,效率较高,响应速度快(推荐方式)
iii:JNDI:常用于EJB等容器
e.
指定映射文件的位置有4种方式
i.使用resource属性引入类名。
ii.使用url属性引入本地文件
iii.使用class属性引入接口类(有条件限制)
vi.使用包名引入(有条件限制)
2.较为常用的有以下5个
1.<properties>:
用于将内部的配置转化为外部的配置,从而能动态的替换内部定义的属性。
例:数据库的连接信息原来是在内部配置的,通过<properties>属性,让系统读取外部的属性文件。
<!-- 注册属性文件 -->
<properties resource="jdbc.properties"/>
2.<typeAliases>:
使用别名可以简化mybatis映射文件
a.为单个类取别名:
<!-- 配置别名 第一种方法:直接指定别名-->
<typeAliases>
<typeAlias alias="Student" type="com.lifeng.entity.Student"/>
</typeAliases>
b.为多个类取别名:
<!-- 配置别名 第二种方法:扫描包 -->
<typeAliases>
<package name="com.lifeng.entity"/>
</typeAliases>
3.<typeHaders>:
将传入的参数java数据类型转换为jdbc数据类型(即对应数据库的数据类型)
<!-- 配置转换器 自定义转换器 -->
<typeHandlers>
<typeHandler handler="com.lifeng.utils.MyTypeHandler" />
</typeHandlers>
4.<environments>:环境配置,主要用于数据源得配置
a.子标签<transactionManger>:用于配置事务管理器,可以配置JDBC和MANAGED两种类型
b.子标签<dataSource>:用于配置数据源,即数据库得连接。
<!-- 配置环境,默认环境id为development -->
<environments default="development">
<environment id="development">
<!-- 配置事务管理类型为 JDBC -->
<transactionManager type="JDBC"/>
<!-- 配置数据源类型为连接池 -->
<dataSource type="POOLED">
<!-- 分别配置数据库连接的驱动,url,用户名,密码 -->
<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>
5.<mappers>
用于配置映射文件
<!-- 配置映射文件的位置,可以有多个映射文件 -->
<mappers>
<mapper resource="com/lifeng/dao/StudentMapper.xml"/>
</mappers>