我正在开发一个应用程序,我需要使用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
一切顺利,直到没有数据返回的时间。请帮我解决这个问题,我几天来一直在努力。
提前致谢..
答案 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();
}
其他一切都将保持不变。