1.pom.xml添加依赖包
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>
2.application.yml文件添加加配置
spring: data: mongodb: uri: mongodb://localhost/test
若有副本集,则可以
mongodb://user:secret@mongo1.example.com:12345,mongo2.example.com:23456/test
3.通过mongoTemplate操作mongodb
@RunWith(SpringRunner.class) @SpringBootTest(classes = { Application.class }) @ActiveProfiles(value = "dev") public class MyTest { @Resource private MongoTemplate mongoTemplate; @Test public void test1() { try { LogInfo info = new LogInfo(); //set data... mongoTemplate.save(info, "log"); } catch (Exception e) { e.printStackTrace(); } } @Test public void testFindAll() { List<LogInfo> list = mongoTemplate.findAll(LogInfo.class, "log"); for (LogInfo info : list) {// 查出所有结果,包括不是LogInfo对象的数据 System.out.println(info.getTableName()); System.out.println(info.getColumnInfoList().size()); } } @Test public void testFindBy() { Query query = Query.query(Criteria.where("name").is("user").and("recordId").is("1001")); List<LogInfo> list = mongoTemplate.find(query, LogInfo.class, "log"); for (LogInfo info : list) { System.out.println(info.getTableName()); for (ColumnInfo col : info.getColumnInfoList()) { System.out.println(col.getName() + ":" + col.getValue()); } } } @Test public void testFindPage() {// 小数据量分页,可跳页 Query query = Query.query(Criteria.where("name").is("user")); Pageable pageable = new PageRequest(2, 3); query.with(pageable).with(new Sort(Direction.DESC, "_id")); Long count = mongoTemplate.count(query, "log"); System.out.println("count:" + count); List<LogInfo> list = mongoTemplate.find(query, LogInfo.class, "log"); for (LogInfo info : list) { System.out.println(info.getTableName()); for (ColumnInfo col : info.getColumnInfoList()) { System.out.println(col.getName() + ":" + col.getValue()); } } } @Test public void testFindBigPage() {// 大数据量分页,不可跳页 String lastId = "xxx"; BasicDBObject query = new BasicDBObject(); query.put("name", "user"); int count = mongoTemplate.getCollection("log").find(query).size(); query.put("_id", new BasicDBObject("$lt", new ObjectId(lastId))); DBCursor cursor = mongoTemplate.getCollection("log").find(query).sort(new BasicDBObject("_id", -1)) .limit(3); while (cursor.hasNext()) {// 大数据量对象转换,也推荐用这方式 DBObject obj = cursor.next(); ObjectId id = (ObjectId) obj.get("_id"); System.out.println(id.toString()); BasicDBList cols = (BasicDBList) obj.get("columnInfoList"); for (Object col : cols) { DBObject o = (DBObject) col; System.out.println(o.get("name") + ":" + o.get("value")); } } } }
@Document public class LogInfo { private String id; private String name; private String recordId; private List<ColumnInfo> columnInfoList; } @Document public class ColumnInfo { private String name; private String value; }
相关推荐
综上所述,Spring Boot集成MongoDB使得在Java应用中使用MongoDB变得更加便捷,通过简单的配置和接口定义,即可实现数据的存储和检索。不过,在实际应用中,还需要考虑数据一致性、性能优化和安全防护等问题。
在 "spring-boot-mongodb" 这个示例中,我们将深入探讨如何在 Spring Boot 应用程序中集成和操作 MongoDB 数据库。以下是一些关键知识点: 1. **添加依赖**: 要使用 MongoDB,首先要在 `pom.xml` 或 `build....
【Spring Boot集成mongodb数据库过程解析】 在现代软件开发中,Spring Boot因其强大的自动化配置和便捷的集成特性,已经成为Java开发者构建应用的首选框架。而MongoDB作为一款流行的NoSQL数据库,以其灵活的数据...
通过本文,读者将能够了解 Spring Boot 与 MongoDB 的集成方式,并掌握在 Spring Boot 应用程序中操作 MongoDB 数据库的基本方法。 #### 二、MongoDB 介绍 MongoDB 是一个基于分布式文件存储的数据库,由 C++ 语言...
综上所述,"spring boot整合mongodb"涉及到的主要知识点包括Spring Boot与MongoDB的集成方式、配置、数据操作接口、Repository模式、Document对象设计、版本兼容性策略以及相关的安全性和监控措施。通过这个压缩包...
**Spring Boot集成MongoDB** 在Spring Boot中集成MongoDB,首先需要在项目中添加MongoDB的依赖。在Maven的`pom.xml`文件中加入以下依赖: ```xml <groupId>org.springframework.boot <artifactId>spring-boot-...
3. **Spring Boot集成MongoDB** Spring Boot通过`spring-boot-starter-data-mongodb`起步依赖支持MongoDB。开发者可以使用Spring Data MongoDB库,它提供了对MongoDB的简单且强大的访问接口,包括CRUD操作、聚合...
首先,集成MongoDB到Spring Boot项目中,你需要在`pom.xml`或`build.gradle`文件中添加对应的依赖。对于Maven,添加如下依赖: ```xml <groupId>org.springframework.boot <artifactId>spring-boot-starter-data...
mongodb版本号3.2,需手动开启http服务,启动时使用命令 ./mongod --httpinterface 新增 修改 删除 查询 排序 分页 可查看: https://blog.csdn.net/m0_37132783/article/details/96992439
5. **日程安排**:Spring Boot可以集成调度库(如Quartz或Cron)来实现课程时间表的自动排程,同时MongoDB存储这些日程信息,方便查询和更新。 6. **报告和统计**:系统可以通过聚合操作从MongoDB中获取数据,生成...
Spring Boot的集成特性使得与各种数据库(如MongoDB)的交互变得简单。 MongoDB是一个非关系型数据库(NoSQL),以其灵活性、高可扩展性和高性能而受到青睐。在图片存储方面,MongoDB的GridFS功能特别适合。GridFS...
在集成 Spring Boot 和 MongoDB 的过程中,我们可以利用 Spring Data MongoDB 模块来实现。Spring Data MongoDB 提供了与 MongoDB 交互的一系列抽象层,使得开发者能够更方便地操作数据库,而无需深入学习 MongoDB ...
首先,`springboot-mongodb`这个标题暗示我们要讨论的是一个关于Spring Boot集成MongoDB的示例或项目。在这个项目中,开发者可能已经实现了将MongoDB数据库连接到Spring Boot应用程序中,以便进行数据操作。 `pom....
Spring Boot 集成 MongoDB 的操作方法 随着大数据时代的来临,非关系型数据库的需求日益增加,而 MongoDB 作为最早热门非关系数据库之一,使用也比较普遍。下面就 Spring Boot 集成 MongoDB 的操作方法进行详细的...
2. **Spring Boot集成MongoDB**: - 添加依赖:在`build.gradle`文件中添加MongoDB的相关依赖,如`spring-boot-starter-data-mongodb`。 - 配置数据库:在`application.properties`中配置MongoDB的连接信息,包括...
**Spring Boot实战-MongoDB** MongoDB是一款高性能、开源、无模式的文档型数据库,它在处理大量数据时表现出色,特别适合于那些需要快速、灵活存储非结构化或半结构化数据的应用场景。Spring Boot作为Java开发者的...
本项目"SpringCloud-mongodb.7z"即为一个集成了Spring Boot与MongoDB的在线教育系统平台,旨在提供稳定且灵活的教育资源管理和用户交互功能。 首先,让我们深入了解一下Spring Boot。Spring Boot是由Pivotal团队...
下面将详细介绍Spring集成MongoDB的相关知识点。 1. **Spring Data MongoDB**: Spring Data项目提供了一套统一的API,使得操作各种持久化存储变得简单。Spring Data MongoDB是该项目的一个模块,它允许开发者通过...
MongoDB 是一种流行的开源NoSQL数据库,以高性能、高可用性和...而Spring Boot简化了与MongoDB的集成,使得在Java应用中使用MongoDB变得更加方便。在实际项目中,开发者应根据具体需求和业务场景选择合适的数据库技术。