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 接口的全类

原文地址:https://www.cnblogs.com/xuzekun/p/7419479.html