天天看点

Mybatis全局配置文件元素的作用与用法

sqlSessionFactory的两种构建方式

*SqlSessionFactory工厂对象的两种创建方式

第一种是使用xml文件来构建

SqlSessionFactory对象的实例可以通过SqlSessionFactoryBuilder对象来构

建,而SqlSessionFactoryBuilder则可以通过XML配置文件构建出SqlSessionFactory的实例。

第二种是使用java代码构建

SqlSessionFactory对象的实例可以通过SqlSessionFactoryBuilder对象来构

建,而SqlSessionFactoryBuilder则可以通过一个预先定义

好的Configuration实例(java代码)构建出SqlSessionFactory的实例。

所有的配置元素都是在<configuration>元素里面,<configuration>元素是映射文件的根元素

Mybatis全局配置文件元素的作用与用法

1.<properties... />元素,是用来修改配置文件中数据库连接的信息

2.<settings>元素主要用于改变MyBatis运行时的行为,例如开启二级缓存、开启延迟加载等。

<settings>
<setting name="cacheEnabled" value="true" />
<setting name="lazyLoadingEnabled" value="true" />
<setting name="multipleResultSetsEnabled" value="true" />
<setting name="useColumnLabel" value="true" />
<setting name="useGeneratedKeys" value="false" />
<setting name="autoMappingBehavior" value="PARTIAL" />
...
</settings>
           

3.<typeAliases>元素用于为配置文件中的Java类型设置一个简短的名字,即设置别名。别名的设置与XML配置相关,其使用的意

义在于减少全限定类名的冗余。

//1. 使用<typeAliases>元素配置别名的方法如下:
<typeAliases>
<typeAlias alias="user" type="com.cxit.po.User"/>
</typeAliases>


//2. 当POJO类过多时,可以通过自动扫描包的形式自定义别名,具体如下:
<typeAliases>
<package name="com.cxit.po"/>
</typeAliases>


           

4.typeHandler的作用就是将预处理语句中传入的参数从javaType(Java类型)转换为jdbcType(JDBC类型),或者从数据库取出结果时将jdbcType转换为javaType

//<typeHandler>元素可以在配置文件中注册自定义的类型处理器,它的使用方式有两种。


//1.注册一个类的类型处理器
<typeHandlers>
<typeHandler handler="com.cxit.type.CustomtypeHandler" />
</typeHandlers>


//2.注册一个包中所有的类型处理器
<typeHandlers>
<package name="com.cxit.type" />
</typeHandlers>
           

5.<objectFactoty>元素,MyBatis中默认的ObjectFactory的作用是实例化目标类,它既可以通过默认构造方法实例化,也可以在参数映射存在的时候通过参数构造方法来实例化。通常使用默认的ObjectFactory即可

6.<plugins>元素,用来增加插件;MyBatis允许在已映射语句执行过程中的某一点进行拦截调用,这种拦截调用是通过插件来实现的。<plugins>元素的作用就是配置用户所开发的插件

7.<environments>元素用于对环境进行配置。MyBatis的环境配置实际上就是数据源的配置,我们可以通过<environments>元素配置多种数据源,即配置多种数据库。

<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<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>
           

8.<mappers>元素用于指定MyBatis映射文件的位置,一般可以使用以下4种方法引入映射器文件,具体如下。

//1.使用类路径引入
<mappers>
<package name="com.cxit.mapper"/>
</mappers>


//2.使用本地文件路径引入
<mappers>
<mapper url="file:///D:/com/cxit/mapper/UserMapper.xml"/>
</mappers>


//3.使用接口类引入
<mappers>
<mapper class="com.cxit.mapper.UserMapper"/>
</mappers>
           

总结:以上就是mabatis的全局配置文件的元素与作用,一般<properties> <mappers>, <typeAliases>, <environments>等元素用得多一点

继续阅读