zoukankan      html  css  js  c++  java
  • 4.主配置文件详解

    主配置文件名可以随意命名,其主要完成以下几个功能:

      1.注册存放DB连接的四要素的属性文件

      2.注册实体类的全限定性类名的别名

      3.配置MyBatis运行环境,即数据源与事务管理器

      4.注册映射文件

    1  注册 DB 连接四要素属性文件

    F2 查看其父标签<configuration/>的描述信息可知,<properties/>子标签应该是第一个子 标签。

    2 指定实体类全限定性类名的别名

    基本类型: 

    别名

    类型

    别名

    类型

    _int

    int

    _integer

    int

    _short

    short

    _long

    long

    _double

    double

    _float

    float

    _byte

    byte

    _boolean

    boolean

    常用包装类型:

    别名

    类型

    别名

    类型

    string

    String

    byte

    Byte

    long

    Long

    short

    Short

    int

    Integer

    integer

    Integer

    double

    Double

    float

    Float

    boolean

    Boolean

    date

    Date

    object

    Object

    collection

    Collection

    list

    List

    arraylist

    ArrayList

    map

    Map

    hashmap

    HashMap

    iterator

    Iterator

    <environment/> id 属性为当前定义的运行环境的名称,可以任意命名。该名称会作为<environments/>的 default 属性的值出现。

    3  配置 MyBatis 的运行环境

      配置 MyBatis 的运行环境,主要是配置数据源与事务管理器

    A <environments/>标签

    在<environments/>中可以包含多个运行环境<environment/>,但其 default 属性指定了当前 MyBatis 运行时所选择使用的环境。

    B、 <transactionManager/>标签

     

     

    该标签用于指定 MyBatis 所使用的事务管理器。MyBatis 支持两种事务管理器类型:JDBC 与 MANAGED。

    1.JDBC:使用 JDBC 的事务管理机制。即,通过 Connection 的 commit()方法提交,通过 rollback()方法回滚。

    但默认情况下,MyBatis 将自动提交功能关闭了,改为了手动提交 即程序中需要显式的对事务进行提交或回滚。从日志的输出信息中可以看到

     

    2.MANAGED:由容器来管理事务的整个生命周期(如 Spring 容器

     

     

    C <dataSource/>标签

     

    该标签用于配置 MyBatis 使用的数据源类型与数据库连接基本属性。常见有类型有:

    UNPOOLED、POOLED、JDNI 等。

    Ø UNPOOLED  :不使用连接池。即每次请求,都会为其创建一个 DB 连接,使用完毕 后,会马上将此连接关闭。

    Ø POOLED:使用数据库连接池来维护连接。

    Ø JNDI:数据源可以定义到应用的外部,通过 JNDI 容器获取数据库连接。

     

    若要从属性文件中读取 DB 连接四要素信息,则使用如下方式:

     

      

    A <mapper resource=””/>指定映射文件

      若映射文件只有一个,则可直接使用如下形式:

      

    B <mapper url=””/>指定映射文件(了解)

    该方式的好处是,可以将映射文件放在本地或网络的任意位置,通过其 url 地址即可直接访问。但通常映射文件是存放在当前应用中的,所以该方式不常用。 

     

    C <mapper class=””/>指定映射文件

    class 属性值为 Dao 接口的全类名

     

    该方式的使用,需要满足以下几个要求:

    (1)映射文件名要与 Dao 接口名称相同

    (2)映射文件要与接口在同一包中

    (3)映射文件中<mapper/>的 namespace 属性值为 Dao 接口的全类名

    D <package name=””/>指定映射文件

    当映射文件较多时,也可以使用如下形式。其中 package 的 name 属性指定映射文件所 存放的包。

     

    但,这种方式的使用需要满足以下几个条件:

    (1)dao 使用 mapper 动态代理实现(后面讲)

    (2)映射文件名要与 Dao 接口名称相同

    (3)映射文件要与接口在同一包中

    (4)映射文件中<mapper/>的 namespace 属性值为 Dao 接口的全类

  • 相关阅读:
    Reflector 插件
    Tips for ILMerge
    WaitAll for multiple handles on a STA thread is not supported 解决方案
    MSI: UAC return 0x800704C7
    SET与SETX的区别
    年在Copyright中的含义
    gacutil : 添加.NET 4.0 assembly 到GAC失败
    LicenseContext.GetSavedLicenseKey 需要 FileIOPermission
    Linq学习之linq基础知识
    SQL Server 2008如何导出带数据的脚本文件
  • 原文地址:https://www.cnblogs.com/xuzekun/p/7419479.html
Copyright © 2011-2022 走看看