SpringBoot整合MongoDB完成CRUD操作(超详细)
官方文档: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操作(超详细)相关推荐
- core 实例化接口_实例讲解Springboot整合MongoDB进行CRUD操作的两种方式
1 简介 Springboot是最简单的使用Spring的方式,而MongoDB是最流行的NoSQL数据库.两者在分布式.微服务架构中使用率极高,本文将用实例介绍如何在Springboot中整合Mon ...
- SpringBoot整合MongoDB数据库并实现基础CRUD
MongoDB安装教程:MongoDB数据库安装以及将MongoDB设置为系统服务 MongoDB简介 MongoDB是一个基于分布式文件存储的数据库,由C++语言编写.旨为WEB应用提供可扩展的高性 ...
- SpringBoot整合Mongodb(三) 使用MongoTemplate进行连表查询
SpringBoot整合Mongodb(三) 使用MongoTemplate进行连表查询 由于在实际开发项目中,突然涉及到了需要Mongodb 进行连表操作的业务,所以我在私下进行了一波学习. 服务器 ...
- 直接裂开!京东二面被问SpringBoot整合MongoDB,我不会啊
开始进入正题 一.技术介绍 SpringBoot整合MongoDB的实现步骤 一.技术介绍 1.MongoDB是什么? 二.使用步骤 1.MongoDB是什么? MongoDB(来自于英文单词&quo ...
- SpringBoot整合MongoDB 及 基本使用
目录 1.MongoDB基本介绍 2.MongoDB的特点 3.MongoDB的体系结构 4.MongoDB的数据类型 5.SpringBoot整合MongoDB ** 1.导入依赖 2.启动Mong ...
- 【ReactJs+springBoot项目——租房】第6章:MongoDB入门+SpringBoot整合MongoDB+搭建微聊系统+实现微聊功能
MongoDB入门 MongoDB的java api的使用 SpringBoot整合MongoDB使用 搭建微聊系统 实现微聊功能 分布式WebSocket解决方案分析 1.MongoDB入门 1.1 ...
- SpringBoot的Web开发支持【超详细【一篇搞定】果断收藏系列】
SpringBoot的Web开发支持 常用的服务器配置 使用Jetty服务器替换Tomcat 排除Tomcat的启动器,引入Jetty application.yml 编写入口程序 编写Control ...
- Spring-Boot 整合MongoDB
Spring-Boot 整合MongoDB 一.引入MongoDB依赖 <dependency><groupId>org.springframework.boot</gr ...
- springboot 整合 mongodb Criteria类 查询条件大全
关于springboot整合mongodb,可查看博文 https://blog.csdn.net/qq_41712271/article/details/116062611 import cn.hu ...
最新文章
- C++ 类模板的使用
- Ubuntu下编译并运行C++代码
- 绑定成员函数表达式上的非法操作_在优麒麟上使用MPV编写自己的播放器
- poj 1860 拓扑。。
- boost::hana::insert_range用法的测试程序
- python中使用if __name__ == '__main__':
- docker 安装ELK
- arcgis报错常用解决方法
- android wifi 静态地址设置_安卓手机连接wifi故障的6种常见解决方法
- python沙箱逃逸小结
- Atitit 发帖机实现(1)-----UsrQBm2008 页面上下文规范
- C# 线程手册 第三章 使用线程 Monitor.Wait() 和 Monitor.Pulse()
- 计算机的编译原理pdf,计算机编译原理DK.pdf
- 如何下载四川省卫星地图高清版大图
- 3DES实现加密算法
- 计算机控制台win10,Win10系统打开Windows控制台的方法
- TECPLOT自定义函数
- nodeJS实现简易爬虫
- unity3d发布webgl手机测试流程
- Python的基本操作