zoukankan      html  css  js  c++  java
  • MyBatis配置项--配置环境(environments)

    MyBatis可以配置成适应多种环境,这种机制有助于将SQL映射应用于多种数据库之中,现实情况下有多种理由需要这么做。

    例如,开发、测试和生产环境需要有不同的配置;或者共享相同Schema的多个生产数据库,想使用相同的SQL映射。许多类似的用例。

    但注意:尽管可以配置多个环境,每个SqlSessionFactory实例只能选择其一。

    所以,如果想要连接两个数据库,就需要创建两个SqlSessionFactory实例,每个数据库对应一个。而如果是三个数据库,就需要三个实例,以此类推,记起来很简单:

    ·每个数据库对应一个SqlSessionFactory实例

    为了指定创建哪种环境,只要将它作为可选的参数传递给SqlSessionFactoryBuilder即可。可以接受环境配置的两个方法签名是:

    SqlSessionFactory  factory  =  new  SqlSessionFactoryBuilder().build(reader, environment);

    SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader, environment, properties);

    如果忽略了环境参数,那么默认环境将会被加载,如下所示:

    SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);

    SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader, properties);

    环境元素定义了如何配置环境:

    <environments default="development">

      <environment id="development">

        <transactionManager type="JDBC">

          <property name="..." value="..."/>

        </transactionManager>

        <dataSource type="POOLED">

          <property name="driver" value="${driver}"/>

          <property name="url" value="${url}"/>

          <property name="username" value="${username}"/>

          <property name="password" value="${password}"/>

        </dataSource>

      </environment>

    </environments>

    注意关键点:

    ·默认的环境ID(比如:default=“development”)

    ·每个environment元素定义的环境ID(比如:id=”development”)

    ·事务管理器的配置(比如:type=”JDBC”)

    ·数据源的配置(比如:type=”POOLED”)

    默认的环境和环境ID是自解释的,因此一目了然。可以对环境随意命名,但一定要保证默认的环境ID要匹配其中一个环境ID。

  • 相关阅读:
    python基础(set)补充
    运算
    初识正则表达式
    xml中俩种解析方式
    Android Studio 调用夜神模拟器
    Android Studio 配置虚拟设备的镜像文件的存放路径
    Allegro PCB Design GXL (legacy) 使用slide推挤走线,走线的宽度就发生改变的原因
    OrCAD Capture CIS 16.6 在原理图页面内放置图片
    OrCAD Capture CIS 16.6 修改原理图的页面大小
    ESD选型指南
  • 原文地址:https://www.cnblogs.com/arrows/p/10338679.html
Copyright © 2011-2022 走看看