之前,我們是直接將資料庫的連線配置資訊寫在了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...