使用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); }
相关文章
相关标签/搜索