官方文档:https://www.mongodb.com/docs/manual/reference/connection-string/

01.导入依赖

         <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId><version>2.2.6.RELEASE</version> <!--2.2.6.RELEASE也是这里的springboot版本--></dependency>

02.添加配置

# spring.data.mongodb.uri=mongodb://用户名:密码@IP:端口/数据库?authSource=admin
spring.data.mongodb.uri=mongodb://root:admin@192.168.10.102:27017/demo?authSource=admin#上面配置可写为以下配置
#spring.data.mongodb.database=demo
#spring.data.mongodb.host=192.168.10.102
#spring.data.mongodb.port=27017
#spring.data.mongodb.username=root
#spring.data.mongodb.password=admin
#spring.data.mongodb.authentication-database=admin

03.MongoDB的CRUD操作

用户类

@Data
@Document("User")
@AllArgsConstructor
public class User {@Idprivate Long id;private String name;private Date birthday;private int sex;
}

3.1插入

  • public T insert(T objectToSave):新增
     @Autowiredprivate MongoTemplate mongoTemplate;@GetMapping("/test1")public void insertDemo(){mongoTemplate.insert(new User(1314L,"zzj&mhz&wyq",new Date(),1));}

执行结果

3.2查询

数据

常用API

  • public List findAll(Class entityClass) : 查询User文档的全部数据
  • public T findById(Object id, Class entityClass): 查询User文档id为id的数据
  • public List find(Query query, Class entityClass) : 根据query内的查询条件查询
 @Autowiredprivate MongoTemplate mongoTemplate;@GetMapping("/test2")public void queryDemo(){System.out.println("=============查询所有====================");List<User> all = mongoTemplate.findAll(User.class);all.forEach(System.out::println);//方法引用System.out.println();System.out.println("===============根据id查询=======================");User user = mongoTemplate.findById(1314, User.class);System.out.println(user);System.out.println();System.out.println("===============条件查询=======================");//regex传正则表达式  查询sex为1并且name中包含zzj的用户String name="zzj";Pattern pattern = Pattern.compile(String.format("%s%s%s", "^.*", name, ".*$"),Pattern.CASE_INSENSITIVE);Query query = new Query(Criteria.where("sex").is(1).and("name").regex(pattern));List<User> users = mongoTemplate.find(query, User.class);users.forEach(System.out::println);System.out.println();System.out.println("===============分页查询=======================");int pageSize=2,currentPage=1;long count = mongoTemplate.count(new Query(), User.class);List<User> userList = mongoTemplate.find(new Query().skip((currentPage - 1) * pageSize).limit(pageSize), User.class);System.out.println("记录数 = "+count);userList.forEach(System.out::println);}

执行结果

=============查询所有====================
User(id=1314, name=zzj&mhz&wyq, birthday=Sun May 22 22:37:14 CST 2022, sex=1)
User(id=6666, name=zzj, birthday=Sun May 22 22:37:15 CST 2022, sex=0)
User(id=8888, name=mhz, birthday=Sun May 22 22:37:15 CST 2022, sex=1)
User(id=9999, name=mhzzj, birthday=Sun May 22 22:37:15 CST 2022, sex=1)===============根据id查询=======================
User(id=1314, name=zzj&mhz&wyq, birthday=Sun May 22 22:37:14 CST 2022, sex=1)===============条件查询=======================
User(id=1314, name=zzj&mhz&wyq, birthday=Sun May 22 22:37:14 CST 2022, sex=1)
User(id=9999, name=mhzzj, birthday=Sun May 22 22:37:15 CST 2022, sex=1)===============分页查询=======================
记录数 = 4
User(id=1314, name=zzj&mhz&wyq, birthday=Sun May 22 22:37:14 CST 2022, sex=1)
User(id=6666, name=zzj, birthday=Sun May 22 22:37:15 CST 2022, sex=0)

3.3修改

  • public UpdateResult upsert(Query query, Update update, Class<?> entityClass):修改
 @Autowiredprivate MongoTemplate mongoTemplate;@GetMapping("/test3")public void updateDemo(){Query query = new Query(Criteria.where("_id").is(1314));Update update=new Update();update.set("name","wyq&mhz&zzj&zdn");mongoTemplate.upsert(query,update,User.class);}

执行结果

3.4删除

  • public DeleteResult remove(Query query, Class<?> entityClass):删除
 @Autowiredprivate MongoTemplate mongoTemplate;@GetMapping("/test4")public void deleteDemo(){Query query = new Query(Criteria.where("_id").is(6666));mongoTemplate.remove(query,User.class);}

执行结果

SpringBoot整合MongoDB完成CRUD操作(超详细)相关推荐

  1. core 实例化接口_实例讲解Springboot整合MongoDB进行CRUD操作的两种方式

    1 简介 Springboot是最简单的使用Spring的方式,而MongoDB是最流行的NoSQL数据库.两者在分布式.微服务架构中使用率极高,本文将用实例介绍如何在Springboot中整合Mon ...

  2. SpringBoot整合MongoDB数据库并实现基础CRUD

    MongoDB安装教程:MongoDB数据库安装以及将MongoDB设置为系统服务 MongoDB简介 MongoDB是一个基于分布式文件存储的数据库,由C++语言编写.旨为WEB应用提供可扩展的高性 ...

  3. SpringBoot整合Mongodb(三) 使用MongoTemplate进行连表查询

    SpringBoot整合Mongodb(三) 使用MongoTemplate进行连表查询 由于在实际开发项目中,突然涉及到了需要Mongodb 进行连表操作的业务,所以我在私下进行了一波学习. 服务器 ...

  4. 直接裂开!京东二面被问SpringBoot整合MongoDB,我不会啊

    开始进入正题 一.技术介绍 SpringBoot整合MongoDB的实现步骤 一.技术介绍 1.MongoDB是什么? 二.使用步骤 1.MongoDB是什么? MongoDB(来自于英文单词&quo ...

  5. SpringBoot整合MongoDB 及 基本使用

    目录 1.MongoDB基本介绍 2.MongoDB的特点 3.MongoDB的体系结构 4.MongoDB的数据类型 5.SpringBoot整合MongoDB ** 1.导入依赖 2.启动Mong ...

  6. 【ReactJs+springBoot项目——租房】第6章:MongoDB入门+SpringBoot整合MongoDB+搭建微聊系统+实现微聊功能

    MongoDB入门 MongoDB的java api的使用 SpringBoot整合MongoDB使用 搭建微聊系统 实现微聊功能 分布式WebSocket解决方案分析 1.MongoDB入门 1.1 ...

  7. SpringBoot的Web开发支持【超详细【一篇搞定】果断收藏系列】

    SpringBoot的Web开发支持 常用的服务器配置 使用Jetty服务器替换Tomcat 排除Tomcat的启动器,引入Jetty application.yml 编写入口程序 编写Control ...

  8. Spring-Boot 整合MongoDB

    Spring-Boot 整合MongoDB 一.引入MongoDB依赖 <dependency><groupId>org.springframework.boot</gr ...

  9. springboot 整合 mongodb Criteria类 查询条件大全

    关于springboot整合mongodb,可查看博文 https://blog.csdn.net/qq_41712271/article/details/116062611 import cn.hu ...

最新文章

  1. C++ 类模板的使用
  2. Ubuntu下编译并运行C++代码
  3. 绑定成员函数表达式上的非法操作_在优麒麟上使用MPV编写自己的播放器
  4. poj 1860 拓扑。。
  5. boost::hana::insert_range用法的测试程序
  6. python中使用if __name__ == '__main__':
  7. docker 安装ELK
  8. arcgis报错常用解决方法
  9. android wifi 静态地址设置_安卓手机连接wifi故障的6种常见解决方法
  10. python沙箱逃逸小结
  11. Atitit  发帖机实现(1)-----UsrQBm2008 页面上下文规范
  12. C# 线程手册 第三章 使用线程 Monitor.Wait() 和 Monitor.Pulse()
  13. 计算机的编译原理pdf,计算机编译原理DK.pdf
  14. 如何下载四川省卫星地图高清版大图
  15. 3DES实现加密算法
  16. 计算机控制台win10,Win10系统打开Windows控制台的方法
  17. TECPLOT自定义函数
  18. nodeJS实现简易爬虫
  19. unity3d发布webgl手机测试流程
  20. Python的基本操作

热门文章

  1. 华为云服务器CentOS 8.2 安装docker
  2. 【金阳光测试】Android自动化测试第一季第三讲—Monkey原理初步和改良优化
  3. 说不得大师与手游《我叫MT》:在崩盘之前逆袭
  4. 2023年全国最新安全员精选真题及答案49
  5. js设计模式——代理模式proxy
  6. 《易道客》源码剖析之五:权限管理
  7. 量子计算机意识永生,将人类意识上传计算机,能够实现“永生”?看看科学家怎么说...
  8. 生物-永生计划:永生计划
  9. unity 震动(震屏)
  10. 银行用户流失分析与预测