使用Spring Data Mongodb的MongoRepository类进行增删改查
Posted yamiya
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用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也提供自定义方法的规则,如下: 按照?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类进行增删改查的主要内容,如果未能解决你的问题,请参考以下文章
将 Spring 安全 ACL 与 spring-data-mongodb 一起使用