天天看點

【Mybatis架構】輸入映射-pojo包裝類型

下面說說關于mapper.xml檔案中的輸入映射

我們看一下之前為user配置的mapper檔案usermapper.xml:

在mapper.xml中我們通過parametertype指定輸入參數的類型,類型可以是簡單類型、hashmap、pojo的包裝類型

上面的查詢語句輸入的都是一個查詢參數,當我們輸入多個查詢參數時應當怎麼操作呢?這就要用到pojo的包裝對象把大量的查詢參數包裝在對象中傳遞給隻能接收單個參數的mapper操作方法了,看看如何來定義pojo包裝對象

1傳遞pojo的包裝對象

1.1需求

完成使用者資訊的綜合查詢,需要傳入查詢條件很複雜(可能包括使用者資訊、其它資訊,比如商品、訂單的)

1.2定義包裝類型pojo

針對上邊需求,建議使用自定義的包裝類型的pojo。

在包裝類型的pojo中将複雜的查詢條件包裝進去。

寫一個例子

首先我們前面定義了一個user類對象,如果對象中的值要發生拓展,在源代碼上改是不合适的(因為我們後期要使用工具自動生成user類,裡面的東西建議不要改動),這裡我們建立一個user的拓展類usercustom,繼承自user類,我們下面包裝查詢條件時使用的是usercustom,特此說明。

查詢包裝類userqueryvo:

1.3mapper.xml

在usermapper.xml中定義使用者資訊綜合查詢(查詢條件複雜,通過進階查詢進行複雜關聯查詢)。

在usermapper類中定義綜合查詢方法:

//使用者管理的dao接口

之後進行測試:

測試結果:

1:張三

4:張三豐

輸出日志:

傳遞hashmap與此類似,就不再贅述

轉載請注明出處:http://blog.csdn.net/acmman/article/details/46509307