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


Spring Data Mongodb提供一套快捷操作 mongodb的方法,創建Dao,繼承MongoRepository,並指定實體類型和主鍵類型。

public interface CmsPageRepository extends MongoRepository<CmsPage,String> { }

1、分頁查詢

@Test     
public void testFindPage() {         
int page = 0;//從0開始         
int size = 10;//每頁記錄數         
Pageable pageable = PageRequest.of(page,size); 
Page<CmsPage> all = cmsPageRepository.findAll(pageable);
}

2、添加

@Test
public void testInsert(){
  CmsPage cmsPage = new CmsPage();   cmsPageRepository.save(cmsPage); }

3、刪除

@Test 
public void testDelete() {     
cmsPageRepository.deleteById("5b17a2c511fe5e0c409e5eb3"); }

4、修改

@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等規則定義方法,實現查詢操作。

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); 
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM