掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
iBATIS分頁(yè)實(shí)例中ObjectDataSource的應(yīng)用首先讓我們來(lái)看看屬性方面的特點(diǎn),ObjectDataSource 控件內(nèi)置了對(duì)分頁(yè)的支持。我們需要設(shè)置 ObjectDataSource 的 EnablePaging屬性,然后要設(shè)置SelectMethod、SelectCountMethod 、StartRowIndexParameterName和MaximumRowsParameterName 屬性。當(dāng) EnablePaging 屬性設(shè)置為 true 時(shí),SelectParameters 集合包含兩個(gè)額外的參數(shù),一個(gè)用于請(qǐng)求的第一行,另一個(gè)用于請(qǐng)求的行數(shù)。這兩個(gè)參數(shù)的名稱由StartRowIndexParameterName 和 MaximumRowsParameterName 屬性定義。SelectMethod應(yīng)該返回從指定的索引處開始的請(qǐng)求的行數(shù)。因?yàn)閿?shù)據(jù)可能不是按頁(yè)大小平均分割的,所以最后一頁(yè)可能包含較少的行。因此,請(qǐng)求的行數(shù)實(shí)際上是返回的最大行數(shù)。

東莞網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站開發(fā)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)建站2013年至今到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。
上面提及的后四個(gè)屬性的含義很容易理解,簡(jiǎn)單的說,我們要實(shí)現(xiàn)兩個(gè)方法,一個(gè)是返回總的記錄數(shù)(SelectCountMethod),一個(gè)則返回當(dāng)前請(qǐng)求頁(yè)的記錄(SelectMethod),SelectMethod方法至少要包含兩個(gè)參數(shù),以指定欲請(qǐng)求記錄的起始索引和欲返回的最大行數(shù)。
SelectCountMethod一般容易實(shí)現(xiàn)。而SelectMethod則比較麻煩,常見的解決方案是存儲(chǔ)過程,這樣的存儲(chǔ)過程通常與特定表緊密耦合,難以通用。
使用iBATIS時(shí),我們通過ISqlMapper接口來(lái)訪問數(shù)據(jù)庫(kù)。其中的一個(gè)方法相當(dāng)有用:
- IList
QueryForList (string statementName, object parameterObject, int skipResults, int maxResults);
前兩個(gè)參數(shù)作查詢之用,而后兩個(gè)參數(shù)則與ObjectDataSource的StartRowIndexParameterName 和 MaximumRowsParameterName 屬性的設(shè)計(jì)不謀而合!
這樣一來(lái),我們就可以只關(guān)注查詢本身了,把分頁(yè)功能交由iBatis和ObjectDataSource來(lái)打理。最重要的是,這個(gè)方法相當(dāng)通用,也不需對(duì)查詢語(yǔ)句作額外的處理。
我的測(cè)試數(shù)據(jù)為20萬(wàn)條,翻頁(yè)所需時(shí)間在0.7秒左右,效果很不錯(cuò)了,大家有興趣可以嘗試下。
iBATIS分頁(yè)實(shí)例中ObjectDataSource的應(yīng)用就介紹到這里,希望通過本文的介紹使你對(duì)iBATIS分頁(yè)實(shí)例中ObjectDataSource的應(yīng)用有所更高的了解。
【編輯推薦】

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流