`
zhangdaiscott
  • 浏览: 441008 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
8fb25857-16b4-3681-ab5e-e319f45c42a8
Jeecg快速开发平台
浏览量:0
文章分类
社区版块
存档分类

JeecgBoot与MongoDB集成实战文档

阅读更多

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 企业级快速平台产品介绍PPT-20200327_jeecg-boot_jeecg_

    - **官方文档**:Jeecg-Boot 提供详尽的官方文档,包括快速入门、实战教程、API参考等内容。 - **示例代码**:提供完整的示例工程,帮助开发者快速上手。 - **社区支持**:活跃的开发者社区,可以在这里提问、交流...

    mongoDB的官方中文文档

    7. **Spring Boot集成**:Spring Boot是Java开发的一个流行框架,通过Spring Data MongoDB模块可以方便地与MongoDB集成,简化数据库操作。这个压缩包可能包含有关如何配置和使用Spring Boot与MongoDB交互的示例和...

    Spring框架高级源码笔记+Spring Boot data mongoDB中文文档 资源合集

    Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅... 本文档是Spring框架高级源码笔记+Spring Boot data mongoDB中文文档 资源合集

    spring-boot操作mongodb例子

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

    mongodb实战中文pdf

    本PDF文档“MongoDB实战”提供了一种深入理解和应用MongoDB的途径,适合对NoSQL数据库感兴趣的开发者、数据工程师以及IT专业人员。 在MongoDB实战中文版中,你将学习到以下关键知识点: 1. **MongoDB基础**:...

    spring-boot-mongodb项目下载

    Spring Boot 是一个由 Pivotal Team 创建的 Java 框架,它旨在简化 Spring 应用程序的初始搭建以及开发过程。...Spring Boot 和 MongoDB 的集成使得开发者能够快速地构建健壮且高效的基于文档的 Web 应用。

    张龙 MongoDB实战张龙 MongoDB实战张龙

    张龙 MongoDB实战张龙 MongoDB实战

    深入浅出MongoDB应用实战开发视频教学

    深入浅出MongoDB应用实战开发视频教学,里面包含笔记和资料

    mongodb项目实战(初战)源代码

    MongoDB是一种流行的开源、分布式文档型数据库,以其灵活性、高性能和易用性而备受开发者青睐。在"mongodb项目实战(初战)源代码"中,我们可能会深入学习如何利用MongoDB进行实际项目开发,理解其核心概念和操作,...

    spring boot整合mongodb

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

    mongoDB集群实战.pdf

    MongoDB集群实战的知识点包括了MongoDB的基本概念、集群的部署方法以及主从复制模式的实战部署步骤。 首先,我们来看MongoDB的基本概念。MongoDB是一个开源的非关系型数据库,它的特点包括分布式存储、面向文档的...

    Spring Data MongoDB中文文档

    - 这些特性极大地丰富了与 MongoDB 交互的方式,使得 **Spring Data MongoDB** 成为了与 MongoDB 集成的理想选择。 总之,**Spring Data MongoDB** 是一个强大的工具,它不仅简化了与 MongoDB 数据库的交互,还提供...

    Spring Boot使用MongoDB详解

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

    MongoDB基础教学文档

    9. **驱动程序与连接**:MongoDB有多种编程语言的驱动程序,如Python的PyMongo、Java的MongoDB Java驱动程序等,使得开发者能轻松地在各种应用程序中集成MongoDB。 10. **安全性**:MongoDB提供了认证、授权和加密...

    MongoDB 3.6 中文文档

    MongoDB 3.6 中文文档

    Mongodb视频-燕十八 mongodb视频教程全集21讲+mongodb高级实战开发视频教程

    - Kafka等流处理平台与MongoDB集成的方式。 **第14讲:地理空间索引** - 地理空间索引的创建与使用。 - 地理位置查询的操作。 - 实际项目中地理空间索引的应用案例。 **第15讲:全文搜索** - 全文搜索的功能介绍。...

    Spring Boot 实战 - mongodb

    本实战将详细介绍如何利用Spring Boot与MongoDB进行深度整合。 **1. Spring Data MongoDB简介** Spring Data MongoDB是Spring Data项目的一部分,提供了与MongoDB数据库交互的简单API。它使得开发者可以快速地在...

    mongodb安装培训文档

    数据以文档的形式存储,文档结构与 JSON 对象相似,支持嵌套文档和数组,提供了灵活的数据模型。 MongoDB 的主要特点包括: 1. 面向文档的存储方式,操作简单易用。 2. 可以对任何属性设置索引来加速排序。 3. 支持...

    SpringMongodb参考文档.docx

    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数据库学习文档_与_php操作mongodb

    MongoDB是一种开源的文档型NoSQL数据库,以其高性能、高可用性和易用性而闻名,特别适合处理大量非结构化数据。其核心特性包括但不限于:面向文档的数据模型、动态模式、水平可扩展性以及丰富的查询语言。 - **命名...

Global site tag (gtag.js) - Google Analytics