1. 坐标引入依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>
2. 增加配置类
package org.jeecg.config; import com.mongodb.client.MongoClient; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.mongodb.core.MongoClientFactoryBean; import org.springframework.data.mongodb.core.MongoOperations; import org.springframework.data.mongodb.core.MongoTemplate; @Configuration public class MongoConfig { @Bean public MongoClientFactoryBean mongoClientFactoryBean() { MongoClientFactoryBean factoryBean = new MongoClientFactoryBean(); factoryBean.setHost("127.0.0.1"); factoryBean.setPort(27017); return factoryBean; } @Bean public MongoTemplate mongoTemplate(MongoClient mongoClient) { return new MongoTemplate(mongoClient, "springboot-db"); } }
说明:新建springboot工程,引入坐标,然后在application.properties文件中加入
spring.data.mongodb.uri=mongodb://localhost:27017/springboot-db
springboot就能支持MongoRepository和MongoTemplate读写MongoDb,测试很顺利。
但是将springboot工程中的代码加入到jeecgboot中,运行后一直提示错误
用这个配置类,代替yml中的mongodb配置可解决该错误。
3. 升级积木报表
针对上面提到的mongoTemplate错误,官方已经提供了最新的解决方案,将积木报表升级。这样就可以不用配置类。
<dependency> <groupId>org.jeecgframework.jimureport</groupId> <artifactId>jimureport-spring-boot-starter</artifactId> <version>1.4.2</version> </dependency>
之后在application-dev.yml文件中,加入mongoDb的配置项
spring: data: mongodb: uri: mongodb://localhost:27017/springboot-db
4. 创建实体类
package org.jeecg.modules.mongodb.entity; import org.springframework.data.annotation.Id; public class Customer { @Id public String id; public String firstName; public String lastName; public Customer() {} public Customer(String firstName, String lastName) { this.firstName = firstName; this.lastName = lastName; } @Override public String toString() { return String.format( "Customer[id=%s, firstName='%s', lastName='%s']", id, firstName, lastName); } }
5. 创建Repository
package org.jeecg.modules.mongodb.dao; import org.jeecg.modules.mongodb.entity.Customer; import org.springframework.data.mongodb.repository.MongoRepository; import java.util.List; public interface CustomerRepository extends MongoRepository<Customer, String> { Customer findByFirstName(String firstName); List<Customer> findByLastName(String lastName); }
6. 测试用例
用两种方式测试mongoDB,分别为MongoRepository和MongoTemplate
package org.jeecg.modules.mongodb; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.mongodb.dao.CustomerRepository; import org.jeecg.modules.mongodb.entity.Customer; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.web.bind.annotation.*; import java.util.HashMap; import java.util.Map; /** * 测试mongodb */ @RestController @RequestMapping("/mongo") public class MongoController { @Autowired private MongoTemplate mongoTemplate; @Autowired private CustomerRepository repository; @GetMapping("/test1") public Result<?> TestMongoDb(){ Map<String,String> map = new HashMap<>(); map.put("jeecg","mongodb-jeecg"); mongoTemplate.insert(map, "testMongoDb"); return Result.OK("存入成功"); } @GetMapping("/test2") public Result<?> TestMongoDb2(){ repository.deleteAll(); // save a couple of customers repository.save(new Customer("Alice", "Smith")); repository.save(new Customer("Bob", "Smith")); // fetch all customers System.out.println("Customers found with findAll():"); System.out.println("-------------------------------"); for (Customer customer : repository.findAll()) { System.out.println(customer); } System.out.println(); // fetch an individual customer System.out.println("Customer found with findByFirstName('Alice'):"); System.out.println("--------------------------------"); System.out.println(repository.findByFirstName("Alice")); System.out.println("Customers found with findByLastName('Smith'):"); System.out.println("--------------------------------"); for (Customer customer : repository.findByLastName("Smith")) { System.out.println(customer); } return Result.OK("存入成功"); } }
7. 测试结果
测试后的数据库截图
本文转载自:https://blog.csdn.net/u013473447/article/details/121902906
相关推荐
- **官方文档**:Jeecg-Boot 提供详尽的官方文档,包括快速入门、实战教程、API参考等内容。 - **示例代码**:提供完整的示例工程,帮助开发者快速上手。 - **社区支持**:活跃的开发者社区,可以在这里提问、交流...
7. **Spring Boot集成**:Spring Boot是Java开发的一个流行框架,通过Spring Data MongoDB模块可以方便地与MongoDB集成,简化数据库操作。这个压缩包可能包含有关如何配置和使用Spring Boot与MongoDB交互的示例和...
Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅... 本文档是Spring框架高级源码笔记+Spring Boot data mongoDB中文文档 资源合集
在 "spring-boot-mongodb" 这个示例中,我们将深入探讨如何在 Spring Boot 应用程序中集成和操作 MongoDB 数据库。以下是一些关键知识点: 1. **添加依赖**: 要使用 MongoDB,首先要在 `pom.xml` 或 `build....
本PDF文档“MongoDB实战”提供了一种深入理解和应用MongoDB的途径,适合对NoSQL数据库感兴趣的开发者、数据工程师以及IT专业人员。 在MongoDB实战中文版中,你将学习到以下关键知识点: 1. **MongoDB基础**:...
Spring Boot 是一个由 Pivotal Team 创建的 Java 框架,它旨在简化 Spring 应用程序的初始搭建以及开发过程。...Spring Boot 和 MongoDB 的集成使得开发者能够快速地构建健壮且高效的基于文档的 Web 应用。
张龙 MongoDB实战张龙 MongoDB实战
深入浅出MongoDB应用实战开发视频教学,里面包含笔记和资料
MongoDB是一种流行的开源、分布式文档型数据库,以其灵活性、高性能和易用性而备受开发者青睐。在"mongodb项目实战(初战)源代码"中,我们可能会深入学习如何利用MongoDB进行实际项目开发,理解其核心概念和操作,...
综上所述,"spring boot整合mongodb"涉及到的主要知识点包括Spring Boot与MongoDB的集成方式、配置、数据操作接口、Repository模式、Document对象设计、版本兼容性策略以及相关的安全性和监控措施。通过这个压缩包...
MongoDB集群实战的知识点包括了MongoDB的基本概念、集群的部署方法以及主从复制模式的实战部署步骤。 首先,我们来看MongoDB的基本概念。MongoDB是一个开源的非关系型数据库,它的特点包括分布式存储、面向文档的...
- 这些特性极大地丰富了与 MongoDB 交互的方式,使得 **Spring Data MongoDB** 成为了与 MongoDB 集成的理想选择。 总之,**Spring Data MongoDB** 是一个强大的工具,它不仅简化了与 MongoDB 数据库的交互,还提供...
通过本文,读者将能够了解 Spring Boot 与 MongoDB 的集成方式,并掌握在 Spring Boot 应用程序中操作 MongoDB 数据库的基本方法。 #### 二、MongoDB 介绍 MongoDB 是一个基于分布式文件存储的数据库,由 C++ 语言...
9. **驱动程序与连接**:MongoDB有多种编程语言的驱动程序,如Python的PyMongo、Java的MongoDB Java驱动程序等,使得开发者能轻松地在各种应用程序中集成MongoDB。 10. **安全性**:MongoDB提供了认证、授权和加密...
MongoDB 3.6 中文文档
- Kafka等流处理平台与MongoDB集成的方式。 **第14讲:地理空间索引** - 地理空间索引的创建与使用。 - 地理位置查询的操作。 - 实际项目中地理空间索引的应用案例。 **第15讲:全文搜索** - 全文搜索的功能介绍。...
本实战将详细介绍如何利用Spring Boot与MongoDB进行深度整合。 **1. Spring Data MongoDB简介** Spring Data MongoDB是Spring Data项目的一部分,提供了与MongoDB数据库交互的简单API。它使得开发者可以快速地在...
数据以文档的形式存储,文档结构与 JSON 对象相似,支持嵌套文档和数组,提供了灵活的数据模型。 MongoDB 的主要特点包括: 1. 面向文档的存储方式,操作简单易用。 2. 可以对任何属性设置索引来加速排序。 3. 支持...
2.了解NoSQL和文档数据库 3.要求 4.其他帮助资源 4.1。支持 4.1.1。社区论坛 4.1.2。专业支持 4.2。发展之后 5.新&值得注意的 5.1。Spring Data MongoDB 2.1中的新特性 5.2。Spring Data MongoDB 2.0中的新特性 5.3...
MongoDB是一种开源的文档型NoSQL数据库,以其高性能、高可用性和易用性而闻名,特别适合处理大量非结构化数据。其核心特性包括但不限于:面向文档的数据模型、动态模式、水平可扩展性以及丰富的查询语言。 - **命名...