MyBatis配置文件——<environments/>配置笔记

MyBatis配置XML文件的层次结构。

注意:这些层次是不能够颠倒顺序的,如果颠倒顺序,MyBatis在解析XML文件的时候就会出现异常。

<?xml version="1.0" encoding="UTF-8"?>
<configuration> <!-- 配置 -->
    <properties/> <!-- 属性 -->
    <settings/> <!-- 设置 -->
    <typeAliases/> <!-- 类型命名 -->
    <typeHandlers/> <!-- 类型处理器 -->
    <objectFactory/> <!-- 对象工厂 -->
    <plugins/> <!-- 插件 -->
    <environments> <!-- 配置环境 -->
        <envoronment> <!-- 环境变量 -->
            <transactionManager/> <!-- 事务处理器 -->
            <dataSource/> <!-- 数据源 -->
        </envoronment>
    </environments>
    <databaseIdProvider/> <!-- 数据库厂商标识 -->
    <mappers/> <!-- 映射器 -->
</configuration>

MyBatis配置环境时,可以注册多个数据源,每个数据源分为两大部分:

  • 一是数据库源的配置
  • 另外一个是数据库事务的配置

例子:

<envirnoments default="development">
    <environment id="development">
        <transactionManager type="JDBC">
            <property name="autoCommit" value="false"/>
        </transactionManager>
        <dataSource type="POOLED">
            <property name="driver" value="com.mysql.jdbc.Driver"/>
            <property name="url" value="jdbc:mysql://localhost:3306/oa"/>
            <property name="username" value="root"/>
            <property name="password" value="learn"/>
        </dataSource>
    </environment>
</envirnoments>

分析上面的配置:

  • environments中的属性default,标明在缺省的情况下,我们将启动哪个数据源配置;
  • environment元素是配置一个数据源的开始,属性id是设置这个数据源的标志,以便MyBatis上下文使用它;
  • transactionManager配置的是数据库事务,其中type属性有3种配置方式:
    • JDBC,采用JDBC方式管理事务,在独立编码中我们经常使用;
    • MANAGER,采用容器方式管理事务,在JNDI数据源中常用;
    • 自定义,由使用者自定义数据库事务管理办法,适用于特殊应用;
  • property元素则是可以配置数据源的各类属性,autoCommit=false,则是要求数据源不自动提交。
  • dataSource标签,是配置数据源连接的信息,type属性是提供我们对数据库连接方式的配置,MyBatis提供了4种连接方式:
    • UNPOOLED,非连接池数据库;
    • POOLED,连接池数据库;
    • JNDI,JNDI数据源;
    • 自定义数据源;如果想要自定义数据源需要实现org.apache.ibatis.datasource.DataSourceFactory接口,并且进行配置:<datasource type="xxx.xxx.xxxSourceFactory">
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值