PaginationAndSortingRepository返回空

时间:2017-12-07 11:55:55

标签: java spring-boot spring-data-jpa

我正在开发一个应用程序,我需要使用pagination显示一些屏幕。我从Spring Data JPA的PaginationAndSortingRepository开始。似乎工作正常但是当我执行代码时我无法获取数据,它在eclipse控制台上没有任何错误就返回空。

以下是我的控制器代码: -

@RequestMapping(value="/monatsultimodata" , method=RequestMethod.Get)
public List<Monatsultimo> getData(Pageable pageable){
List<Monatsultimo> dataList = null ;
try{
dataList= monatsultimoservice.getData(pageable)
}catch(Exception e){
e.printStackTrace();
}
return dataList;
}

以下是我的服务代码: -

public List<Monatsultimo> getData(Pageable pageable){
List<Monatsultimo> tableData = new AarrayList();
monatsultimorepo.findAll(pageable)
return tableData;
}

以下是我的存储库代码: -

@Repository
public interface MonatsultimoRepo extends 
PagingAndSortingRepository<MonatSultimo, Integer>{
}

以下是我的application.yaml文件

    jpa:
        properties:
            hibernate:
                format_sql: true
                show_sql: true
                type: 'debug'
                use_sql_comments: true
                ddl-auto:update
server:
        port: 9000

security:
    basic:
        enabled: false                                 

用于点击Rest服务的URL - localhhost:9000 /添加到词典?page = 0&amp; size = 25

一切顺利,直到没有数据返回的时间。请帮我解决这个问题,我几天来一直在努力。

提前致谢..

2 个答案:

答案 0 :(得分:1)

在返回tableData之前,将monatsultimorepo.findAll(pageable)的结果分配给tableData

服务:

 public List<Monatsultimo> getData(){
   List<Monatsultimo> tableData = new AarrayList();
   tableData =monatsultimorepo.findAll()
   return tableData;
 }

控制器:

@RequestMapping(value="/monatsultimodata" , method=RequestMethod.Get)
   public List<Monatsultimo> getData(){
     List<Monatsultimo> dataList = null ;
     try{
       dataList= monatsultimoservice.getData()
     }catch(Exception e){
     e.printStackTrace();
   }
   return dataList;
 }

存储库:

@Repository
public interface MonatsultimoRepo extends JpaRepository<MonatSultimo,Integer>{
}

答案 1 :(得分:1)

您好在Spring应用程序中提供分页,我将应用以下更改:

控制器

import org.springframework.data.domain.PageRequest;
import org.springframework.web.bind.annotation.RequestParam;

@RequestMapping(value="/monatsultimodata", method=RequestMethod.Get)
public List<Monatsultimo> getData(final @RequestParam("page") int page, 
       final @RequestParam("size") int size)
{
       List<Monatsultimo> dataList = null;

       try
       {
           dataList = monatsultimoservice.getData(new PageRequest(page, size));
       } catch(Exception e)
       {
           // Recommended output to a logger.
           e.printStackTrace();
       }
       return dataList;
}

服务

返回的页面对象包含总页数 - page reference等信息。

import org.springframework.data.domain.Page;

public List<Monatsultimo> getData(final Pageable pageable)
{
    Page<Monatsultimo> page = monatsultimorepo.findAll(pageable);
    return page.getContent();
}

其他一切都将保持不变。