首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Spring Data MongoDB:MongoTemplate

前言:

Spring Data MongoDB是Spring框架访问MongoDB的组件,使用它可以非常方便的操作MongoDB数据库。

Spring Data MongoDB是Spring Source的一个子项目,旨在为关系型数据库、非关系型数据、Map-Reduce框架、云数据服务等等提供统一的数据访问API。

Spring Data提供了基于DAO的统一接口CrudRepository完成对象的CRUD操作以及查询方法、排序和分页方法等。

Spring Data子项目

1.Commons - 提供共享的基础框架,适合各个子项目使用,支持跨数据库持久化。

2.Hadoop - 基于 Spring 的 Hadoop 作业配置和一个 POJO 编程模型的 MapReduce 作业。

3.Key-Value - 集成了 Redis 和 Riak ,提供多个常用场景下的简单封装。

4.Document - 集成文档数据库:CouchDB 和 MongoDB 并提供基本的配置映射和资料库支持。

5.Graph - 集成 Neo4j 提供强大的基于 POJO 的编程模型。

6.Graph Roo AddOn - Roo support for Neo4j。

7.JDBC Extensions - 支持 Oracle RAD、高级队列和高级数据类型。

8.JPA - 简化创建 JPA 数据访问层和跨存储的持久层功能。

9.Mapping - 基于 Grails 的提供对象映射框架,支持不同的数据库。

10.Examples - 示例程序、文档和图数据库。

11.Guidance - 高级文档。

了解完基本概念,接下来我们通过代码来教会大家如何使用这款神器。

1.添加pom.xml依赖。

2.配置spring.xml。

3.创建实体类,通过注解于MongoDB集合进行映射。

@Document:实体类与集合的映射,value可以指定集合名,若省略,默认取首字母小写之后的类名作为集合名。

@Id:标识符映射。

@Field:普通属性到字段映射,value可以指定字段名,若省略,默认取对应的属性名作为字段名。

4.测试类中调用MongoTemplate接口完成业务操作。

新增

打开终端,命令行查询结果。

添加成功。

删除

条件删除:

Query.query(new Criteria("name").is("张三0"))指定删除条件。

执行完成,再次查询,张三0成功删除。

删除并返回:

删除多条并返回集合:

删除集合:

删库:

删除之后查询,testdb库已经不存在。

修改

调用updateFirst完成,updateFirst提供了两个方法重载,分别将实体类的运行时类和集合名作为参数传入。

实体类运行时类名:

update方法的参数与实体类属性名对应。

集合名:

update方法的参数与集合字段名对应。

若被修改的对象不存在,可以使用upsert接口,先添加对象,再进行修改。

查询

查询所有记录:

查询满足条件的记录数:

查询所有满足条件的记录:

查询满足条件的第一条记录:

分页查询,去掉第1条,取2条:

根据ID查询:

in查询:

or查询:

and查询:

好了,CRUD基本操作全部完成,附上完整代码。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180803G080AI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券