亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

oracle數據庫 分頁問題

老師你好?傳入分頁條件的時候會出現問題

public?DataGrid?getMailInfoById(MailAddressee?addressee,?PageBean?pageBean)?{
????pageBean?=?ComUtils.getPage(pageBean);
????Page<MailAddressee>?page?=?new?Page<>(pageBean.getOffset(),?pageBean.getLimit());
????QueryWrapper<MailAddressee>?queryWrapper?=?new?QueryWrapper<>();
????queryWrapper.eq("MAIL_ID",?addressee.getMailId()).eq("SEND_MAN",?addressee.getSendMan());
????IPage<MailAddressee>?emailPage?=?mailAddresseeDao.selectPage(page,?queryWrapper);
????List<MailAddressee>?records?=?emailPage.getRecords();
????return?ComUtils.getDg(records,?emailPage.getTotal());
}

?上邊的代碼執行時?sql?語句中分頁的條件為 0?和 10?但是實際上我傳入的是?offset = 1?和?limit = 10

==>? Preparing: SELECT * FROM ( SELECT TMP.*, ROWNUM ROW_ID FROM ( SELECT addrid,send_man,addressee,mail_id,sden_status FROM mail_addressee WHERE (MAIL_ID = ? AND SEND_MAN = ?) ) TMP WHERE ROWNUM <=?) WHERE ROW_ID > ??

==> Parameters: D89E07FC516045A7A7A3DDDD9086FE14(String),?test(String), 10(Long), 0(Long)

?第一頁可以獲取10條?這個沒問題? 但是一旦翻到第2頁sql語句會變成 傳入的分頁參數為 offset = 11 和?limit = 20

==>? Preparing: SELECT * FROM ( SELECT TMP.*, ROWNUM ROW_ID FROM ( SELECT addrid,send_man,addressee,mail_id,sden_status FROM mail_addressee WHERE (MAIL_ID = ? AND SEND_MAN = ?) ) TMP WHERE ROWNUM <=?) WHERE ROW_ID > ??

==> Parameters: D89E07FC516045A7A7A3DDDD9086FE14(String), test(String), 220(Long), 200(Long)

DEBUG跟隨查看在queryWrapper創建之后就會改變分頁插件的值? 請問老師這個怎么解決呢




正在回答

1 回答

我感覺問題出現在你的PageBean對象上,MP的Page對象傳的兩個參數的意義,你可能搞錯了。他第一個參數的需要傳的是當前要查的頁的頁碼,不是偏移量。第二個參數傳的是每頁最多多少條。

0 回復 有任何疑惑可以回復我~
#1

SeiRyuuQiu 提問者

謝謝老師 完美解決!
2019-09-25 回復 有任何疑惑可以回復我~
#2

老猿 回復 SeiRyuuQiu 提問者

不客氣,能解決你的問題就好
2019-09-25 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

oracle數據庫 分頁問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號