各位小伙伴
祝大家元旦快樂(lè)
開(kāi)始我們今天的分享
我們已經(jīng)了解了?mybatis 框架的兩種使用方式以及主配置文件 (mybatis-config.xml) 的屬性。那么今天我們來(lái)一起了解sql 映射文件 (userMapper.xml) 的屬性鉴竭。
parameterType 輸入?yún)?shù)
1)簡(jiǎn)單類型的單個(gè)參數(shù)
我們來(lái)模擬一個(gè)需求:根據(jù)用戶 id 查詢用戶信息
先在接口類 UserMapper.Java 中,添加一個(gè)接口宜猜。
然后在對(duì)應(yīng)的 UserMapper.xml 中,填寫 sql 查詢語(yǔ)句硝逢。
在測(cè)試類中測(cè)試一下姨拥。這個(gè)也沒(méi)什么說(shuō)的我們最近一直都在測(cè)試這些。
2)簡(jiǎn)單類型的多個(gè)參數(shù)
模擬需求:通過(guò)登錄名和密碼驗(yàn)證用戶是否存在
先在接口類 UserMapper.Java 中渠鸽,添加一個(gè)接口叫乌。這里需要添加兩個(gè)參數(shù)
然后在對(duì)應(yīng)的 UserMapper.xml 中,填寫 sql 查詢語(yǔ)句徽缚。再添加兩個(gè)參數(shù)的時(shí)候可以在大括號(hào)里填上 0 代表第一個(gè)參數(shù)憨奸,1 第二個(gè)參數(shù)以此類推。
在測(cè)試類中測(cè)試一下凿试。
這是2個(gè)參數(shù)排宰,要是參數(shù)再多點(diǎn),我們這樣一個(gè)個(gè)的標(biāo)那婉,很麻煩额各。這是就可以利用包裝對(duì)象,直接傳一個(gè)對(duì)象進(jìn)去吧恃。
3)包裝類對(duì)象作為輸入?yún)?shù)進(jìn)行查詢
模擬需求:根據(jù)界面輸入的用戶名稱或者登錄名稱來(lái)查詢符合條件的用戶列表。
先創(chuàng)建一個(gè)包裝類麻诀,包裝我們的 User 對(duì)象痕寓,這里就可以包裝很多參數(shù)了。
在接口類 UserMapper.Java 中蝇闭,添加一個(gè)接口呻率。
然后在對(duì)應(yīng)的 UserMapper.xml 中,填寫 sql 查詢語(yǔ)句呻引。
在測(cè)試類中測(cè)試一下礼仗。
再多的參數(shù)也不用怕了。
resultType/resultMap 對(duì)象
1)簡(jiǎn)單類型的輸出? 例:Integer String ?Long 逻悠。
在接口類 UserMapper.Java 中元践,添加一個(gè)接口,查詢用戶總數(shù)童谒。
然后在對(duì)應(yīng)的 UserMapper.xml 中单旁,填寫 sql 查詢語(yǔ)句。
在測(cè)試類中測(cè)試一下饥伊。
2)對(duì)象的輸出
我們之前做的都是對(duì)象輸出象浑,給大家簡(jiǎn)單的測(cè)試一下蔫饰。
3)HashMap 的輸出
在接口類 UserMapper.Java 中,添加一個(gè)接口愉豺。
然后在對(duì)應(yīng)的 UserMapper.xml 中篓吁,填寫 sql 查詢語(yǔ)句。
在測(cè)試類中測(cè)試一下蚪拦。
這樣看著不方便杖剪,我把它復(fù)制出來(lái)大家看一下結(jié)果。
3)resultMap 對(duì)象輸出
這個(gè)是一個(gè)重點(diǎn)外盯,假設(shè)我們的數(shù)據(jù)庫(kù)命名和我們的 Java 屬性命名是不一樣的摘盆,這樣我們就是映射不上,這個(gè)時(shí)候就需要手動(dòng)設(shè)置一個(gè) resultMap 來(lái)解決這個(gè)問(wèn)題饱苟。
在接口類 UserMapper.Java 中孩擂,添加一個(gè)接口。
然后在對(duì)應(yīng)的 UserMapper.xml 中箱熬,填寫 sql 查詢語(yǔ)句类垦。
其中:
id 標(biāo)簽代表數(shù)據(jù)庫(kù)表的主鍵
column 代表列名或者 sql 中的別名
property 代表 java 對(duì)象的屬性名?
在測(cè)試類中測(cè)試一下。
還是復(fù)制出來(lái)看一下城须。
這個(gè)resultMap很重要蚤认,大家多去試一下。至于有什么作用呢糕伐?我們之后會(huì)分享給大家的砰琢。
今天的分享就到這里了
伙伴們
元旦快樂(lè)
拜拜