09.輸入輸出映射

1.輸入映射

通過(guò)parameterType指定輸入?yún)?shù)類(lèi)型,類(lèi)型可以是簡(jiǎn)單類(lèi)型、hashmap、pojo的包裝類(lèi)型。

1)傳遞pojo包裝對(duì)象

  • 需求
    完成用戶(hù)信息綜合查詢(xún),需要傳入查詢(xún)條件(可能包括用戶(hù)信息、其他信息)
  • 定義包裝類(lèi)型pojo
    針對(duì)上邊需求,建議使用自定義的包裝類(lèi)型pojo。在包裝類(lèi)型的pojo中將復(fù)雜的查詢(xún)條件包裝進(jìn)去。
  • mapper.xml
    在UserMapper中定義用戶(hù)信息綜合查詢(xún)(查詢(xún)條件復(fù)雜,需要關(guān)聯(lián)查詢(xún))
  • mapper.java
圖片.png

2)傳遞hashmap


2.輸出映射

1)resultType

使用resultType進(jìn)行輸出映射,只有查詢(xún)出來(lái)的列名和pojo中的屬性名一致,該列才可以映射成功。
如果查詢(xún)出來(lái)的列明和pojo中的屬性名全部不一致,沒(méi)有創(chuàng)建pojo對(duì)象。
只要查詢(xún)出來(lái)的列名和pojo中的屬性有一個(gè)一致,就會(huì)創(chuàng)建pojo對(duì)象。

  • 不管是輸出的pojo是單個(gè)對(duì)象還是一個(gè)列表(list中包括pojo),在mapper.xml中resultType指定的類(lèi)型都一樣,只是mapper.java中返回值類(lèi)型方法不一樣List。
    生成的動(dòng)態(tài)代理對(duì)象中是根據(jù)mapper方法返回值類(lèi)型確定調(diào)用selectOne還是selectList。

2)resultMap

mybatis中使用resultMap完成高級(jí)輸出結(jié)果映射。

  • 如果查詢(xún)出來(lái)的列名和pojo的屬性名不一致,通過(guò)定義一個(gè)resultMap對(duì)列名和pojo屬性名之間作一個(gè)映射關(guān)系。
    • 定義resultMap
定義resultMap
  • 使用resultMap作為statement的輸出映射類(lèi)型
  • mapper.java
mapper.java
  • test


    test.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. 簡(jiǎn)介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存儲(chǔ)過(guò)程以及高級(jí)映射的優(yōu)秀的...
    笨鳥(niǎo)慢飛閱讀 6,217評(píng)論 0 4
  • Mapper.xml映射文件 Mapper.xml映射文件定義了操作數(shù)據(jù)庫(kù)的sql,每個(gè)sql是一個(gè)stateme...
    暗物質(zhì)閱讀 8,923評(píng)論 0 2
  • 一、輸入映射 通過(guò)parameterType指定輸入?yún)?shù)的類(lèi)型,類(lèi)型可以是簡(jiǎn)單類(lèi)型、HashMap、pojo的包裝...
    yjaal閱讀 999評(píng)論 0 2
  • 輸出映射接下來(lái)說(shuō)說(shuō)有關(guān)Mapper.xml配置文件中查詢(xún)標(biāo)簽中關(guān)于返回值類(lèi)型resultType與resultMa...
    默默無(wú)痕閱讀 14,037評(píng)論 1 10
  • 每個(gè)線程都應(yīng)該有它自己的SqlSession實(shí)例。SqlSession的實(shí)例不能共享使用,它是線程不安全的 配置文...
    蕊er閱讀 512評(píng)論 0 0

友情鏈接更多精彩內(nèi)容