ibatis 的 GroupBy屬性的使用

2021-09-01 08:14:09 字數 1796 閱讀 6279

ibatis的groupby的用處很多,比如把資料展示成樹結構,目錄結構等等。

ibatis的使用方法:

定義乙個 resultmap,如下。

productid,channelid

">

productid"

/>

channelid

" />

subchannelproduct

" />

還有乙個乙個resultmap,內容如下:

subchannelproduct

" class="tchannelproduct">

sql內容:

select

cp.id as id,

cp.spread_start_time as spreadstarttime,

cp.spread_end_time as spreadendtime,

cp.product_page_url as productpageurl,

cp.product_target_url as producttargeturl,

cp.is_refer_valid as isrefervalid,

cp.business_md_id as businessmdid,

cp.bcid_code as bcidcode,

cp.product_type as producttype,

cp.balance_channel_id as balancechannelid,

bu.business_model_name as businessmdname,

bu.business_model_code as businessmdcode,

cp.package_id as productid

,cp.channel_id as channelid

,cp.spread_state as spreadstate,

ci.channel_name as channelname,

ci.channel_corp_type as channelcorptype,

cc.company_code as companycode,

cc.company_name_cn as companyname

from t_channel_product_ref cp,

t_channel_info ci,

t_channel_corp cc,

t_channel_busi_model bu

where cp.channel_id = ci.id and ci.corp_id = cc.company_code and cp.business_md_id = bu.id and cp.spread_state ]]> 2

實現的效果是,將同packageid同channelid的資料放到同乙個list中去。

因為已packageid同channelid分組,所以,雖然 值需要獲得list中資料,但是resultmap中葉需要將packageid和channelid加上去,否則沒有任何效果。。。。,即上文中,紅字部分 一定要注意,不要搞丟了。

事實上分組的實現不是在資料庫中實現,而是查出所有資料後,在ibatis的**中進行的實現,所以,如果需要進行分頁查詢。。。那就只能ibatis分組處理後,查出所需資料,然後對所有資料在**中分組了。悲催。。。

看了 好幾個帖子,搜尋相關的實現,好多貼中groupby的resultmap中,都沒有分組的那個資料的property,試了幾次才發現,應該是現在這樣的。

詭異的Group by函式

select 表2.name,count id 管理員from 表2 where 表2.name in select name from 表1 group by 表2.name 使用上面這個語句sql通常會報錯 訊息 8120,級別 16,狀態 1,第 1 行 列 表2.管理員 在選擇列表中無效,因...

group by 方法的使用

有時候,你也許需要將乙個陣列中的元素根據某種規則進行分組。那麼group by方法就是很好的選擇。先來看下面的例子 a 1.20 to a 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 a.group by 0,1,2,3,4 1,5,6,7,...

關於group by的用法

重新回顧並理解group by。首先設計一張表,表名為test 然後執行以下sql語句 select name from test group by name 獲得執行結果 可是為了能夠更好的理解 group by 多個列 和 聚合函式 的應用,我建議在思考的過程中,由表1到表2的過程中,增加乙個虛...