一、單個引數:mybatis不會做特殊處理。#
或#
:取出引數值。
方法:public employee getempbyid(integer id);
select * from tbl_employee where id = #
select * from tbl_employee where id = #
二、多個引數:mybatis會做特殊處理。不能使用#
取出引數值。多個引數會被封裝成 乙個map,
key:param1…paramn,或者引數的索引也可以
value:傳入的引數值
#{}就是從map中獲取指定的key的值;
方法:public employee getempbyidandlastname(integer id,string lastname);
select * from tbl_employee where id = # and last_name=#
select * from tbl_employee where id = # and last_name=#
三、命名引數:@param明確指定封裝引數時map的key。多個引數會被封裝成 乙個map,
key:使用@param註解指定的值
value:引數值
#
取出對應的引數值;
public employee getempbyidandlastname(@param("id") integer id,@param("lastname") string lastname);
select * from tbl_employee where id = # and last_name=#
pojo:
如果引數很多,並且正好是實體中的屬性,我們就可以直接傳入實體物件;因為實體會被轉為乙個key是屬性名,value是屬性值的map。
如:public employee getempbyidandlastname(employee employee);
#
:取出傳入的實體物件的屬性值
select * from tbl_employee where id = # and last_name=#
map:
如果多個引數實體中的屬性,不經常使用,我們也可以傳入map。
如:public employee getempbyidandlastname(map map);
map map = new hashmap();
map.put("id","1");
map.put("lastname","jerry4");
#:取出map中對應的值
select * from tbl_employee where id = # and last_name=#
page
案例:
public employee getemp(@param(「id」)integer id,string lastname);
取值:id==># lastname==>#
public employee getemp(integer id,employee emp);
取值:id==># lastname===>#
public employee getemp(integer id,@param(「e」)employee emp);
取值:id==># lastname===>#
注意:如果是collection(list、set)型別或者是陣列,也會特殊處理。也是把傳入的list或者陣列封裝在map中。
key:collection(collection),如果是list還可以使用這個key(list)
陣列(array)
public employee getempbyid(list ids);
取值:取出第乙個id的值: #
Mybatis 四 對映檔案
參考入門程式中的finduserbyid的對映檔案。位置config user.xml 參考入門程式insertuser。綜合查詢時,可能會根據使用者資訊 商品資訊 訂單資訊等作為條件進行查詢,使用者資訊中的查詢條件由 使用者的名稱和性別進行查詢 加上getter和setter 和傳遞pojo型別一...
四 Mybatis對映檔案
對映檔案指導著mybatis如何進行資料庫曾刪改查,有著非常重要的意義。檔案頭 namespace insert update delete元素 資料變更語句 insert,update 和 delete 的實現非常接近 insertauthor parametertype domain.blog....
MyBatis對映檔案
5 刪除 6 更新 7 根據員工id和姓名獲取員工物件 8 測試類 mybatis 的真正強大在於它的對映語句,也是它的魔力所在。由於它的異常強大,對映器的 xml 檔案就顯得相對簡單。如果拿它跟具有相同功能的 jdbc 進行對比,你會立即發現省掉了將近 95 的 mybatis 就是針對 sql ...