優化MyBatis配置檔案中的配置

2021-07-09 03:22:34 字數 4229 閱讀 6218

之前,我們是直接將資料庫的連線配置資訊寫在了mybatis的conf.xml檔案中,如下:

[html]view plain

copy

print?

xmlversion

="1.0"

encoding

="utf-8"

?>

>

<

configuration

>

<

environments

default

="development"

>

<

environmentid=

"development"

>

<

transactionmanager

type

="jdbc"

/>

<

datasource

type

="pooled"

>

<

property

name

="driver"

value

="com.mysql.jdbc.driver"

/>

<

property

name

="url"

value

="jdbc:mysql://localhost:3306/mybatis"

/>

<

property

name

="username"

value

="root"

/>

<

property

name

="password"

value

="xdp"

/>

datasource

>

environment

>

environments

>

configuration

>

其實我們完全可以將資料庫的連線配置資訊寫在乙個properties檔案中,然後在conf.xml檔案中引用properties檔案,具體做法如下:

1、在src目錄下新建乙個db.properties檔案,如下圖所示:

在db.properties檔案編寫連線資料庫需要使用到的資料庫驅動,連線url位址,使用者名稱,密碼,如下:

[html]view plain

copy

print?

1 driver

=com

.mysql.jdbc.driver  

2 url

=jdbc

:mysql://localhost:3306/mybatis  

3 name

=root

4 password

=xdp

2、在mybatis的conf.xml檔案中引用db.properties檔案,如下:

[html]view plain

copy

print?

xmlversion

="1.0"

encoding

="utf-8"

?>

>

<

configuration

>

<

properties

resource

="db.properties"

/>

<

datasource

type

="pooled"

>

<

property

name

="driver"

value

="$"

/>

<

property

name

="url"

value

="$"

/>

<

property

name

="username"

value

="$"

/>

<

property

name

="password"

value

="$"

/>

datasource

>

environment

>

environments

>

configuration

>

之前,我們在sql對映xml檔案中的引用實體類時,需要寫上實體類的全類名(包名+類名),如下:

[html]view plain

copy

print?

<

insertid=

"adduser"

parametertype

="me.gacl.domain.user"

>

insert into users(name,age) values(#,#)  

insert

>

parametertype="me.gacl.domain.user"這裡寫的實體類user的全類名me.gacl.domain.user,

每次都寫這麼一長串內容挺麻煩的,而我們希望能夠簡寫成下面的形式

[html]view plain

copy

print?

<

insertid=

"adduser2"

parametertype

="_user"

>

insert into users(name,age) values(#,#)  

insert

>

parametertype="_user"

這樣寫就簡單多了,為了達到這種效果,我們需要在conf.xml檔案中為實體類="me.gacl.domain.user"定義乙個別名為"_user",具體做法如下:

在conf.xml檔案中標籤中新增如下配置:

[html]view plain

copy

print?

<

typealiases

>

<

typealias

type

="me.gacl.domain.user"

alias

="_user"

/>

typealiases

>

這樣就可以為me.gacl.domain.user類定義了乙個別名為_user,以後_user

就代表了me.gacl.domain.user類,這樣sql對映xml檔案中的凡是需要引用me.gacl.domain.user類的地方都可以使用_user

來代替,這就達到了乙個簡化實體類引用的目的。

除了可以使用這種方式單獨為某乙個實體類設定別名之外,我們還可以使用如下的方式批量為某個包下的所有實體類設定別名,如下:

[html]view plain

copy

print?

<

typealiases

>

比如me.gacl.domain.user這個實體類的別名就會被設定成user  

-->

<

package

name

="me.gacl.domain"

/>

typealiases

>

就表示為這個包下面的所有實體類設定別名。mybatis預設的設定別名的方式就是取出類所在的包後的簡單的類名,比如me.gacl.domain.user這個實體類的別名就會被設定成user。

優化MyBatis配置檔案中的配置

之前,我們是直接將資料庫的連線配置資訊寫在了mybatis的conf.xml檔案中,如下 1 xml version 1.0 encoding utf 8 2doctype configuration public config 3.0 en 3 configuration 4 environmen...

Mybatis總結(2) 優化配置檔案

連線資料庫的配置單獨放在乙個properties檔案中 原來關於資料庫的連線資訊都在conf.xml中,放在乙個單獨的properties檔案會更好。driver com.mysql.jdbc.driver url jdbc mysql localhost 3306 mybatis name roo...

MyBatis(4) 配置檔案優化

配置檔案優化 執行流程 讀取配置流程 sqlsessionfactory sqlsession 連線 讀取sql並執行相應操作 關閉 核心配置檔案 關鍵1 關鍵2 properties配置檔案 driver com.mysql.jdbc.driver url jdbc mysql localhost...