PaginationAndSortingRepository 返回空
Posted
技术标签:
【中文标题】PaginationAndSortingRepository 返回空【英文标题】:PaginationAndSortingRepository returning empty 【发布时间】:2018-05-21 12:47:17 【问题描述】:我正在开发一个需要使用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 - localhost:9000/Add to dictionary?page=0&size=25
一切正常,直到它返回时没有数据。请帮助我,这几天我一直在努力。
提前谢谢..
【问题讨论】:
查看您的服务代码.. 在 stack-overflow 上提出此类问题之前..查看您的代码.. 【参考方案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>
【讨论】:
谢谢伙计,缺乏关注,花时间在这上面感觉很糟糕。但现在它给出了错误,无法从 Pagemonatsultimorepo.findAll(pageable)
的返回类型是Page<Monatsultimo>
为什么不应该使用JpaRepository
..只是改变你的repository
代码..而不是PagingAndSortingRepository
扩展JpaRepository
..不要改变任何其他的东西
使用 JpaRepository 代替 PagingAndSortingRepository 有什么好处????【参考方案2】:
您好,在您的 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();
其他一切都将保持不变。
【讨论】:
以上是关于PaginationAndSortingRepository 返回空的主要内容,如果未能解决你的问题,请参考以下文章