Mybatis中如何優雅的接收DAO傳遞的引數

2021-10-24 04:12:52 字數 1619 閱讀 7700

mybatis中如何優雅的接收dao傳遞的引數:

1.當dao中傳遞單個或者多個引數時, 使用@param(可以模擬為別名)註解單一屬性

dao示例:

user selectuser(@param("username") string name, @param("deptid") int deptid);
xml檔案示例:

select * from user

where user_name = # and dept_id = #

如果沒有使用@param註解之後,xml如何獲取引數

dao示例:

user selectuser(string name, int deptid);
xml檔案示例:

select *

from user where user_id=# and name= #

2.當dao中傳遞是乙個資料實體時,直接在xml中通過屬性名獲取資料即可

public user selectuser(user user);

select * from user

where user_name = # and dept_id = #

parametertype:標明引數型別

resultmap:返回結果集

#{}裡面的名稱對應的是user類裡面的成員屬性。

3.當dao中傳遞是乙個map時,直接在xml中通過key獲取資料即可

dao示例:

listselectpagebycatelogid(mapparams);
xml示例:

select * from pms_attr_group

catelog_id = #

and attr_group_id like concat('%', #,'%')

or attr_group_name like concat('%',#,'%')

4.當dao中傳遞是乙個list時,直接在xml中遍歷list

dao示例:

boolean deleteattrgroupbyids(listlongs);
xml示例:

delete  from pms_attr_group where  attr_group_id in

$

collection :collection屬性的值有三個分別是list、array、map三種,分別對應的引數型別為:list、陣列、map集合,我在上面傳的引數為陣列,所以值為list

item : 表示在迭代過程中每乙個元素的別名

index :表示在迭代過程中每次迭代到的位置(下標)

open :字首

close :字尾

separator :分隔符,表示迭代時每個元素之間以什麼分隔

MyBatis中如何接收String型別的引數實現

在mybatis學習初期,當parametertype的程式設計客棧值為string 也就是接收string型別的引數時,我會通過value來接,如圖 通過value接收string型別的值舒適又簡單,然而,直到有一天,我發現屢試不爽的value不給力了 接收程式設計客棧string型別值的時候出了...

英語中如何優雅的罵人

英語中如何優雅的罵人 人在北美 講英語難,吵架更難.雖說人在國外總是想盡辦法以和為貴,但要跟人家吵架怎麼辦?很多人一生氣,所有的英文都忘光了,平常英文就說不出口,更何況是吵架,所以滿腦子浮現的不是 f 就是 s 這樣是很不好的.我還聽過有乙個人很絕,英文罵不過人。家就用中文罵,反正對方聽得懂聽不懂都...

如何解決mybatis查詢結果接收不同的問題

記一次大坑 mybatis查詢結果和接收的不一樣,折騰我好幾個小時.先上 是要查詢排名,sql執行的結果 select b.operator id,b.class count,b.class study,b.student count,b.rownum as rank,b.rownum as pr ...