優化MyBatis配置檔案中的配置

2021-07-07 03:06:38 字數 4106 閱讀 5726

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

1

xml version="1.0" encoding="utf-8"

?>

2doctype configuration public "- config 3.0//en" ""

>

3<

configuration

>

4<

environments

default

="development"

>

5<

environment

id="development"

>

6<

transactionmanager

type

="jdbc"

/>78

<

datasource

type

="pooled"

>

9<

property

name

="driver"

value

="com.mysql.jdbc.driver"

/>

10<

property

name

="url"

value

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

/>

11<

property

name

="username"

value

="root"

/>

12<

property

name

="password"

value

="xdp"

/>

13datasource

>

14environment

>

15environments

>

1617

configuration

>

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

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

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

1

xml version="1.0" encoding="utf-8"

?>

2doctype configuration public "- config 3.0//en" ""

>

3<

configuration

>45

6<

properties

resource

="db.properties"

/>711

<

environments

default

="development"

>

12<

environment

id="development"

>

13<

transactionmanager

type

="jdbc"

/>

1415

<

datasource

type

="pooled"

>

1617

<

property

name

="driver"

value

="$"

/>

18<

property

name

="url"

value

="$"

/>

19<

property

name

="username"

value

="$"

/>

20<

property

name

="password"

value

="$"

/>

21datasource

>

22environment

>

23environments

>

2425

configuration

>

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

<

insert

id="adduser"

parametertype

="me.gacl.domain.user"

>

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

insert

>

parametertype="me.gacl.domain.user"這裡寫的實體類user的全類名me.gacl.domain.user,每次都寫這麼一長串內容挺麻煩的,而我們希望能夠簡寫成下面的形式

<

insert

id="adduser2"

parametertype

="_user"

>

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

insert

>

parametertype="_user"

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

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

<

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來代替,這就達到了乙個簡化實體類引用的目的。

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

<

typealiases

>

<

package

name

="me.gacl.domain"

/>

typealiases

>

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

優化MyBatis配置檔案中的配置

之前,我們是直接將資料庫的連線配置資訊寫在了mybatis的conf.xml檔案中,如下 html view plain copy print?xmlversion 1.0 encoding utf 8 configuration environments default development e...

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...