码迷,mamicode.com
首页 > 数据库 > 详细

使用Spring Data Mongodb的MongoRepository类进行增删改查

时间:2020-02-22 00:06:17      阅读:252      评论:0      收藏:0      [点我收藏+]

标签:end   dal   insert   interface   nal   分页   操作   xtend   std   

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也提供自定义方法的规则,如下: 按照?ndByXXX,?ndByXXXAndYYY、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); 
}

 

使用Spring Data Mongodb的MongoRepository类进行增删改查

标签:end   dal   insert   interface   nal   分页   操作   xtend   std   

原文地址:https://www.cnblogs.com/yamiya/p/12343568.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!