网站首页 > 精选教程 正文
作者: CCWW_
链接:https://my.oschina.net/ccwwlx/blog/3127391
在NoSQL盛行的时代,App很大可能会涉及到MongoDB数据库的使用,而也必须学会在Spring boot使用Spring Data连接MongoDB进行数据增删改查操作,如下为详细的操作手册。
1. 依赖
直接导入spring-data-mongodb包或者使用Spring Boot starter
2. 属性文件application.properties
3. mongodb 配置
注册Mongo实例配置:
4. mongodb操作
使用MongoTemplate类进行增删改查
NOTE:
??在开发中,如果从任何MongoDB操作返回的com.mongodb.WriteResult包含错误,则可以方便地记录或引发异常。 通常,在开发过程中很容易忘记执行此操作,然后最终得到一个看似运行成功的App,但实际上该数据库操作发生异常,没执行成功。 可以将MongoTemplate的WriteResultChecking属性设置为以下值之一:
- EXCEPTION:引发Exception
- NONE:不执行任何操作,默认值
??对于更高级的情况,可以将每个操作设置不同的WriteConcern值(用于删除,更新,插入和保存操作),则可以在MongoTemplate上配置WriteConcernResolver的策略接口。 由于MongoTemplate用于持久化POJO,因此WriteConcernResolver允许您创建一个策略,该策略可以将特定的POJO类映射到WriteConcern值。
WriteConcernResolver接口:
自定义WriteConcernResolver接口,实现不同WriteConcern策略:
5. 常用的类以及方法解析
5.1 MongoClient、ServerAddress、MongoCredential以及MongoClientOptions
??基于ServerAddress单机或者Replica Set在使用MongoClient连接mongodb数据库注册mongo实例,在注册示例中可能要使得MongoCredential账号密码验证以及使用MongoClientOptions配置mongodb其他的参数。
MongoClient常用的构造器方法:
5.2 MongoTemplate
使用MongoTemplate结合Sort、Criteria、Query、Update以及分页Pageable类灵活地进行对mongodb数据库进行增删改查。
query方法:
insert方法:
remove方法:
update方法:
5.3 Sort
Sort查询排序类。Sort类常用方法:
5.4 Criteria
Criteria查询条件类,类似于SQL的where,常用方法:
5.5 Query
Query查询对象,具有查询的全部信息,其中包括筛选条件、排序、返回数量等。常用的方法:
6.常用注解
获取资料:
最后给大家分享一份学习资料,里面包括:(BATJ面试资料、高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)和Java进阶学习路线图。
戳这里即可领取-->正在跳转
猜你喜欢
- 2024-10-14 K8S+DevOps架构师实战课 | Kubernetes安装手册(非高可用版)
- 2024-10-14 我肝了三天三夜,最新 Java 技术栈手册,累计 5000 页,免费领取
- 2024-10-14 炸裂!阿里内部10W字面试手册,竟在GitHub访问量破百万
- 2024-10-14 阿里P8熬了一个月肝出这份32W字Java面试手册,在Github标星31K+
- 2024-10-14 55万字!阿里内部最新最全Java面试进阶手册,能横扫99%的面试官
- 2024-10-14 阿里大牛耗时三年整理出来的4588页Java面试诛仙手册,已全面开源
- 2024-10-14 阿里p8大牛三年整理出全网最全的5万字的《Java面试手册含简历》
- 2024-10-14 搞懂“负载均衡”,一篇就够了 负载均衡的概念及作用
- 2024-10-14 傻瓜式DEVOPS实践手册——Harbor部署
- 2024-10-14 LInux系统服务器环境部署手册 linux服务器架设指南
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)