Pagehelperはいくつかの状況の解決方法をページングしません

2353 ワード

1つ目はmybatisの導入バージョンが間違っていることです
    
       org.mybatis.spring.boot
       mybatis-spring-boot-starter
       1.0.0
    

ブロッキングプラグインはサポートされていませんので、1.0.0以降のバージョンは使用できません.
2つ目のケース:pagehelperの導入が間違っており、正確に導入すべきである:

    com.github.pagehelper
    pagehelper-spring-boot-starter
    1.2.5


3つ目のケース:データの設定方法をページングの前に書く(コードの順序が間違っている)
 Page page = PageHelper.startPage(pageNo, pageSize, true);
  result.setList(hotWordService.getHotWordsIndustryList());

4つ目のケース:データの中のmapperの複数回のクエリーを設定して、Pageは初めて検出した結果でページを分けるだけです:(間違っているようですが、ページを分けることができて、分かりません)【pageHelperは最初のsqlの結果でした】
 Page page = PageHelper.startPage(pageNo, pageSize, true);
  result.setList(hotWordService.getHotWordsIndustryList());

getHotWordsIndustryList()  :
 @Override
    public List getCompletedCallRecordByCallTaskId(CallTaskSimpleVO callTaskSimpleVO) {
   	 Long userId = callTaskMapper.getUserIdById(callTaskSimpleVO.getCallTaskId());
        if (userId == null || !Objects.equals(userId, ThreadCacheMgr.getUserId())) {
            throw new CallTaskException(CallTaskExceptionCode.CALL_TASK_NOT_AUTHORITY);
        }
        return callRecordMapper.getCallRecordByCallTaskId(callTaskSimpleVO);
    }

メソッドにはcallTaskMapperとcallRecordMapperのクエリがあり、ページングは最初のmapperのクエリに対して分けられるので、ページングデータはcallTaskMapper.getUserIdByIdのクエリ結果である.次のように変更する必要があります.
 Long userId = callTaskMapper.getUserIdById(callTaskSimpleVO.getCallTaskId());
        if (userId == null || !Objects.equals(userId, ThreadCacheMgr.getUserId())) {
            throw new CallTaskException(CallTaskExceptionCode.CALL_TASK_NOT_AUTHORITY);
        }
 Page page = PageHelper.startPage(pageNo, pageSize, true);
  result.setList(hotWordService.getHotWordsIndustryList());

getHotWordsIndustryList()  :
 @Override
  public List getCompletedCallRecordByCallTaskId(CallTaskSimpleVO callTaskSimpleVO) {
        return callRecordMapper.getCallRecordByCallTaskId(callTaskSimpleVO);
    }