4.主配置文件詳解

主配置文件名能夠隨意命名,其主要完成如下幾個功能:數據庫

  1.註冊存放DB鏈接的四要素的屬性文件網絡

  2.註冊實體類的全限定性類名的別名app

  3.配置MyBatis運行環境,即數據源與事務管理器url

  4.註冊映射文件spa

 

1  註冊 DB 鏈接四要素屬性文件

 

F2 查看其父標籤<configuration/>的描述信息可知,<properties/>子標籤應該是第一個子 標籤。3d

2 指定實體類全限定性類名的別名

基本類型: 代理

別名日誌

類型blog

 

別名接口

類型

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

相關文章
相關標籤/搜索