日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ibatis使用心得——返回Map的Map

發(fā)布時(shí)間:2023/12/15 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ibatis使用心得——返回Map的Map 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

來源:http://morningspace.51.net/weblog/?p=143


一般而言,ibatis的sql map是通過JavaBean的屬性與數(shù)據(jù)庫表字段的映射來完成一些數(shù)據(jù)庫存取的。而有些場(chǎng)合下,比如數(shù)據(jù)表本身較為簡(jiǎn)單,我們并不希望為此單獨(dú)構(gòu)造一個(gè)JavaBean而“污染”對(duì)象系統(tǒng)。此時(shí),我們可以利用Map作為返回結(jié)果來代替JavaBean對(duì)象。見下面的sql map片段:

<resultMap id=\”getItemsResult\” class=\”java.util.HashMap\”>
<result property=\”itemName\” column=\”item_name\” />
<result property=\”itemValue\” column=\”item_value\” />
</resultMap>
<select id=\”getItems\” resultMap=\”getItemsResult\”>
select item_name, item_value from item_table
</select>

這里顯式指定了一個(gè)resultMap,利用SqlMapClient的queryForList將會(huì)返回一個(gè)HashMap List,每個(gè)List元素都將是一個(gè)Map對(duì)象。

有時(shí)候,我們并不希望返回的是Object List,而希望返回某種形式的Map。無須更改sql map,我們可以利用SqlMapClient的queryForMap達(dá)到這一目的。此時(shí),需要指定Map的key和value,見下面的代碼片段:

getSqlMapClientTemplate().queryForMap(\”getItems\”, null, \”itemName\”, \”itemValue\”);

該函數(shù)的返回結(jié)果將是一個(gè)HashMap Map。這里,指定了key和value分別為itemName和itemValue,根據(jù)sql map中的定義,實(shí)際對(duì)應(yīng)于item_name和item_value字段。也可以定義key為某個(gè)字段,而value為整個(gè)HashMap對(duì)象(或者JavaBean對(duì)象):

getSqlMapClientTemplate().queryForMap(\”getItems\”, null, \”itemName\”);

此外,sql map還有提供一種隱式的resultMap(詳見reference),但是經(jīng)過試驗(yàn),這種隱式resultMap在返回HashMap Map的時(shí)候,并沒有得到正確結(jié)果,但顯式的resultMap聲明是沒有問題的。


總結(jié)

以上是生活随笔為你收集整理的ibatis使用心得——返回Map的Map的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。