`
Javahuhui
  • 浏览: 80759 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

spring boot 集成mongodb

阅读更多

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;
}

 

 

分享到:
评论

相关推荐

    11-Spring-Boot(十一):Spring boot中mongodb的使用.pdf

    综上所述,Spring Boot集成MongoDB使得在Java应用中使用MongoDB变得更加便捷,通过简单的配置和接口定义,即可实现数据的存储和检索。不过,在实际应用中,还需要考虑数据一致性、性能优化和安全防护等问题。

    spring-boot操作mongodb例子

    在 "spring-boot-mongodb" 这个示例中,我们将深入探讨如何在 Spring Boot 应用程序中集成和操作 MongoDB 数据库。以下是一些关键知识点: 1. **添加依赖**: 要使用 MongoDB,首先要在 `pom.xml` 或 `build....

    Spring Boot集成mongodb数据库过程解析

    【Spring Boot集成mongodb数据库过程解析】 在现代软件开发中,Spring Boot因其强大的自动化配置和便捷的集成特性,已经成为Java开发者构建应用的首选框架。而MongoDB作为一款流行的NoSQL数据库,以其灵活的数据...

    Spring Boot使用MongoDB详解

    通过本文,读者将能够了解 Spring Boot 与 MongoDB 的集成方式,并掌握在 Spring Boot 应用程序中操作 MongoDB 数据库的基本方法。 #### 二、MongoDB 介绍 MongoDB 是一个基于分布式文件存储的数据库,由 C++ 语言...

    spring boot整合mongodb

    综上所述,"spring boot整合mongodb"涉及到的主要知识点包括Spring Boot与MongoDB的集成方式、配置、数据操作接口、Repository模式、Document对象设计、版本兼容性策略以及相关的安全性和监控措施。通过这个压缩包...

    springboot+mongoDB

    **Spring Boot集成MongoDB** 在Spring Boot中集成MongoDB,首先需要在项目中添加MongoDB的依赖。在Maven的`pom.xml`文件中加入以下依赖: ```xml &lt;groupId&gt;org.springframework.boot &lt;artifactId&gt;spring-boot-...

    spring boot &amp; mongoDB后台系统.zip

    3. **Spring Boot集成MongoDB** Spring Boot通过`spring-boot-starter-data-mongodb`起步依赖支持MongoDB。开发者可以使用Spring Data MongoDB库,它提供了对MongoDB的简单且强大的访问接口,包括CRUD操作、聚合...

    spring boot+mongodb

    首先,集成MongoDB到Spring Boot项目中,你需要在`pom.xml`或`build.gradle`文件中添加对应的依赖。对于Maven,添加如下依赖: ```xml &lt;groupId&gt;org.springframework.boot &lt;artifactId&gt;spring-boot-starter-data...

    springboot整合mongodb

    mongodb版本号3.2,需手动开启http服务,启动时使用命令 ./mongod --httpinterface 新增 修改 删除 查询 排序 分页 可查看: https://blog.csdn.net/m0_37132783/article/details/96992439

    sistema-escolar:Projeto com Spring Boot e MongoDB

    5. **日程安排**:Spring Boot可以集成调度库(如Quartz或Cron)来实现课程时间表的自动排程,同时MongoDB存储这些日程信息,方便查询和更新。 6. **报告和统计**:系统可以通过聚合操作从MongoDB中获取数据,生成...

    Vue+axios+Spring Boot+mongoDB 基于Mongo图片存储和基于GridFS的文件存储.zip

    Spring Boot的集成特性使得与各种数据库(如MongoDB)的交互变得简单。 MongoDB是一个非关系型数据库(NoSQL),以其灵活性、高可扩展性和高性能而受到青睐。在图片存储方面,MongoDB的GridFS功能特别适合。GridFS...

    spring-boot-mongodb项目下载

    在集成 Spring Boot 和 MongoDB 的过程中,我们可以利用 Spring Data MongoDB 模块来实现。Spring Data MongoDB 提供了与 MongoDB 交互的一系列抽象层,使得开发者能够更方便地操作数据库,而无需深入学习 MongoDB ...

    springboot-mongodb整合源码

    首先,`springboot-mongodb`这个标题暗示我们要讨论的是一个关于Spring Boot集成MongoDB的示例或项目。在这个项目中,开发者可能已经实现了将MongoDB数据库连接到Spring Boot应用程序中,以便进行数据操作。 `pom....

    Sprint Boot 集成MongoDB的操作方法

    Spring Boot 集成 MongoDB 的操作方法 随着大数据时代的来临,非关系型数据库的需求日益增加,而 MongoDB 作为最早热门非关系数据库之一,使用也比较普遍。下面就 Spring Boot 集成 MongoDB 的操作方法进行详细的...

    基于 MongoDB 及 Spring Boot 的文件服务器的实现

    2. **Spring Boot集成MongoDB**: - 添加依赖:在`build.gradle`文件中添加MongoDB的相关依赖,如`spring-boot-starter-data-mongodb`。 - 配置数据库:在`application.properties`中配置MongoDB的连接信息,包括...

    Spring Boot 实战 - mongodb

    **Spring Boot实战-MongoDB** MongoDB是一款高性能、开源、无模式的文档型数据库,它在处理大量数据时表现出色,特别适合于那些需要快速、灵活存储非结构化或半结构化数据的应用场景。Spring Boot作为Java开发者的...

    SpringCloud-mongodb.7z

    本项目"SpringCloud-mongodb.7z"即为一个集成了Spring Boot与MongoDB的在线教育系统平台,旨在提供稳定且灵活的教育资源管理和用户交互功能。 首先,让我们深入了解一下Spring Boot。Spring Boot是由Pivotal团队...

    Spring集成Mongodb配置含jar包

    下面将详细介绍Spring集成MongoDB的相关知识点。 1. **Spring Data MongoDB**: Spring Data项目提供了一套统一的API,使得操作各种持久化存储变得简单。Spring Data MongoDB是该项目的一个模块,它允许开发者通过...

    11-Spring-Boot(十一):Spring boot中mongodb的使用.docx

    MongoDB 是一种流行的开源NoSQL数据库,以高性能、高可用性和...而Spring Boot简化了与MongoDB的集成,使得在Java应用中使用MongoDB变得更加方便。在实际项目中,开发者应根据具体需求和业务场景选择合适的数据库技术。

Global site tag (gtag.js) - Google Analytics