SpringBoot系列(19):SpringBoot整合MongoDB实战二之删除与分页查询

本文档数据库中间件MongoDB在大数据量查询方面的优势,演示了如何在MongoDB中实现数据的删除及分页查询功能。通过Java代码展示了删除操作的实现,并通过多线程批量插入数据来模拟大数据量场景,进而展示分页查询的高效性。
摘要由CSDN通过智能技术生成

摘要:文档数据库中间件MongoDB的强大之处在于其可以存储大批量、海量的数据并可实现快速、高效、稳定的查询功能(据说千万级、亿级别的数据查询只需要几秒),其底层是采用“文档Document”的形式、Json格式的数据结构来存储数据的,在大数据量查询的场景下相对于关系型数据库如Mysql而言,效率将显著提升,本文我们将模拟在大数据量的场景下实现数据的分页查询与删除功能。

内容:在上一篇文章中我们简要介绍了NoSQL领域中鼎鼎大名的文档型数据库中间件MongoDB,并基于Spring Boot2.0搭建的企业级项目整合了MongoDB服务实战了“用户模块User”最基本的新增、批量新增、修改与简单的查询。本文我们将继续介绍其剩下的删除功能和“大数据量”的场景下其分页查询功能的实现!

(1)我们直接贴出“删除”功能代码的实现吧:

    //TODO:删除
    @Transactional(rollbackFor = Exception.class)
    public void delete(final Integer id) throws Exception{
        int res=userMapper.deleteByPrimaryKey(id);
        if (res>0){
            Query query=Query.query(Criteria.where("id").is(id));
            mongoTemplate.remove(query,MongoUser.class);
        }
    }

直接调用mongoTemplate的remove方法即可实现!之后,直接写个Java单元测试用例即可查看其最终的执行效果,如下所示:  

    @Test
    public void method5() throws Exception{
        log.info("---单元测试5-删除---");

        final Integer id=343686;
        mongoUserRepository.delete(id);

        MongoUser entity=mongoUserRepository.queryById(id);
        log.info("---根据主键id查询,结果={}---",entity);
    }

点击运行之后,通过Navicat 跟 Robo 3T查看该条数据,会发现该条记录已经不存在了!

(2)紧接着我们写个多线程、往MongoDb批量插入大批量的数据,然后我们一起来体验一下大数据量场景下“分页查询”功能的实现。

更多请见:http://www.mark-to-win.com/tutorial/51025.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值