全域性配置檔案(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...