Mybatis系列四 對映檔案 引數處理

2021-09-19 09:03:36 字數 2188 閱讀 9407

一、單個引數: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 ...