mybatis框架 配置檔案詳解

2021-08-21 21:14:13 字數 3564 閱讀 2615

全域性配置檔案(sqlmapconfig.xml)的配置內容和順序如下(順序不能亂):

即配置載入properties檔案,首先建立db.properties:

db.driver=com.mysql.jdbc.driver

db.url=jdbc:mysql://localhost:3306/mybatis?useunicode=true&characterencoding=utf8

db.username=root

db.password=root

那麼配置檔案:

注意,如果:

還是會載入properties檔案中的username,因為先載入配置內容,再載入properties檔案,後者會覆蓋前者。

parametertype的值會和properties的屬性值發生衝突。

對po類進行別名的定義,其中mybatis支援的別名有:

別名原名

_byte

byte

_long

long 

_short

short 

_int

int 

_integer

int 

_double

double 

_float

float 

_boolean

boolean 

string 

string 

byte

byte 

long

long 

short

short 

intinteger 

integer

integer 

double

double 

boolean

boolean 

float

float 

date

date 

decimal

bigdecimal 

bigdecimal

bigdecimal 

當然也可以自定義別名:

那麼在對映檔案中就可以使用user來替代其全限定名。

在引入對映檔案時有如下幾種格式:

參考《mybatis框架——基本應用》中根據使用者id查詢使用者資訊的對映檔案

參考入門中新增使用者的對映檔案

在綜合查詢時,可能會根據使用者資訊、商品資訊、訂單資訊等作為條件進行查詢,使用者資訊中的查詢條件由:使用者的名稱和性別進行查詢。需要先建立pojo的包裝類:

public class userqueryvo
然後在對映檔案中:

select * from user where

username like '%$%'

and ***=#

public listfinduserlist(userqueryvo vo);
同傳遞pojo物件一樣,map的key相當於pojo的屬性。對映檔案如下:

select * from user where id=# and username like '%$%'

使用resulttype進行結果對映時,需要查詢出的列名和對映的物件的屬性名一致,才能對映成功。如果查詢的列名和物件的屬性名全部不一致,那麼對映的物件為空;如果查詢的列名和物件的屬性名有乙個一致,那麼對映的物件不為空,但是只有對映正確那乙個屬性才有值。

說明:如果查詢的sql的列名有別名,那麼這個別名就是和屬性對映的列名。

1.簡單型別

注意,對簡單型別的結果對映也是有要求的,查詢的列必須是一列,才能對映為簡單型別。綜合查詢時,需要根據綜合查詢的新增查詢使用者的總數,首先對映檔案:

select count(*) from user where

username like '%$%'

and ***=#

//綜合查詢使用者總數

public int findusercount(userqueryvo vo);

2.pojo物件和pojo列表

參考入門程式之根據使用者id查詢使用者資訊和根據使用者名稱模糊查詢使用者列表

使用resultmap進行結果對映時,不需要查詢的列名和對映的屬性名必須一致。但是需要宣告乙個resultmap,來對列名和屬性名進行對映。如,對以下sql查詢的結果集進行物件對映:

select id id_,username username_,*** ***_ from user where id = 1;
在對映檔案中:

​select id id_,username username_,*** ***_ from user where id = #

說明:

id標籤:專門為查詢結果中唯一列對映

result標籤:對映查詢結果中的普通列

public user finduserrstmap(int id);
在mybatis中,它提供了一些動態sql標籤,可以讓程式設計師更快的進行mybatis的開發,這些動態sql可以通過sql的可重用性。常用的動態sql標籤:if標籤、where標籤、sql片段、foreach標籤。

在綜合查詢時,查詢條件由使用者來輸入,使用者名稱可以為空,需要滿足這種情況下的sql編寫:

select * from user

and username like '%$%'

and *** = #

解釋:

除了可以將**直接寫在該處,還可以寫在sql塊中,然後呼叫:

and username like '%$%'

and *** = #

​select * from user

注意:sql片段內,最好不用將where和select關鍵字宣告在內。

可以迴圈傳入引數值。綜合查詢時,會根據使用者id集合進行查詢(批量刪除),如下面sql:

select * from user where id in (1,2,10)
首先修改包裝pojo:

public class userqueryvo
然後在sql片段中需要拼湊出:and id in (#,#,#) 

and id in

#

解釋:

如果直接傳遞的是list集合,則:

select * from user

0">

#

mybatis配置檔案詳解

mybatsi中有8個主要標籤,根標籤是。在mybatis config.xml中有一點要注意的是,的子元素必須要按照上圖所實的從上往下的順序進行配置,或者mybaitis在解析 mybatis config.xml的時候會報錯 2.1 settings標籤 setting 元素下是些非常重要的設定...

MyBatis 主配置檔案詳解

2017年06月08日 10 28 16 主配置檔案可以隨便命名,其主要完成以下幾個功能 註冊存放db連線四要素的屬性檔案 註冊實體類的許可權定性類名的別名 配置mybatis執行環境,即資料來源與事務管理器 註冊對映檔案 mybatis.xml 1.方式一般使用方式,這樣做的好處是會將該包中年所有...

mybatis全域性配置檔案詳解

mybatis配置的兩個檔案 1 全域性配置檔案 mybatis config.xml 指導mybatis正確執行的一些全域性設定 2 sql對映檔案 employeedao.xml 相當於是對dao介面的乙個實現描述 獲取到的介面是 物件,mybatis自動建立的 sqlsessionfactor...