Spring Data Mongodb提供一套快捷操做 mongodb的方法,建立Dao,繼承MongoRepository,並指定實體類型和主鍵類型。mongodb
public interface CmsPageRepository extends MongoRepository<CmsPage,String> { }
一、分頁查詢測試
@Test public void testFindPage() { int page = 0;//從0開始 int size = 10;//每頁記錄數 Pageable pageable = PageRequest.of(page,size);
Page<CmsPage> all = cmsPageRepository.findAll(pageable);
}
二、添加spa
@Test
public void testInsert(){
CmsPage cmsPage = new CmsPage(); cmsPageRepository.save(cmsPage); }
三、刪除code
@Test public void testDelete() {
cmsPageRepository.deleteById("5b17a2c511fe5e0c409e5eb3"); }
四、修改blog
@Test public void testUpdate() { Optional<CmsPage> optional = cmsPageRepository.findOne("5b17a34211fe5e2ee8c116c9"); if(optional.isPresent()){ C msPage cmsPage = optional.get(); cmsPage.setPageName("測試頁面01"); cmsPageRepository.save(cmsPage); } }
5.自定義查詢繼承
同Spring Data JPA同樣Spring Data mongodb也提供自定義方法的規則,以下: 按照findByXXX,findByXXXAndYYY、countByXXXAndYYY等規則定義方法,實現查詢操做。get
public interface CmsPageRepository extends MongoRepository<CmsPage,String> {//根據頁面名稱查詢 CmsPage findByPageName(String pageName); //根據頁面名稱和類型查詢 CmsPage findByPageNameAndPageType(String pageName,String pageType); //根據站點和頁面類型查詢記錄數 int countBySiteIdAndPageType(String siteId,String pageType); //根據站點和頁面類型分頁查詢 Page<CmsPage> findBySiteIdAndPageType(String siteId,String pageType, Pageable pageable); }