package edu.ynmd.cms.dao;
import edu.ynmd.cms.model.News;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
import java.util.List;
public interface NewsDao extends CrudRepository<News,String> {
@Query("select n from News n order by n.pbdate desc ")
Page<News> getNewsForPage(Pageable pageable);
@Query("select n from News n order by n.pbdate desc ")
List<News> getAll();
}
2、来到service添加具体实现方法
ManageService中添加
Page<News> getNewsList(int start, int pagesize);
MangeServiceImpl中添加
// 新闻列表查询多个操作
@Override
public List<News> getNewsList() {
return newsDao.getAll(); //由于newsdao继承crudRepository,这里修改为getAll();
}
// 新闻列表分页
@Override
public Page<News> getNewsList(int start, int pagesize) {
return newsDao.getNewsForPage(PageRequest.of(start,pagesize));
}
3、制作参数vo,新建vo包,建立PageParmVo类
package edu.ynmd.cms.vo;
import java.io.Serializable;
public class PageParmVo implements Serializable {
private int page; //当前页
private int pagesize;//页面条目数量
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public int getPagesize() {
return pagesize;
}
public void setPagesize(int pagesize) {
this.pagesize = pagesize;
}
}