使用Spring Data Mongodb的MongoRepository類進行增刪改查

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); }
相關文章
相關標籤/搜索