JeecgBoot与MongoDB集成实战文档
- 坐标引入依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
- 升级积木报表
jeecgboot2.4.6/3.0等版本集成mongodb会报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
- 创建实体类
package org.jeecg.modules.mongodb.entity;import org.springframework.data.annotation.Id;public class Customer {@Idpublic String id;public String firstName;public String lastName;public Customer() {}public Customer(String firstName, String lastName) {this.firstName = firstName;this.lastName = lastName;}@Overridepublic String toString() {return String.format("Customer[id=%s, firstName='%s', lastName='%s']",id, firstName, lastName);}}
- 创建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);}
- 测试用例
用两种方式测试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 {@Autowiredprivate MongoTemplate mongoTemplate;@Autowiredprivate 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 customersrepository.save(new Customer("Alice", "Smith"));repository.save(new Customer("Bob", "Smith"));// fetch all customersSystem.out.println("Customers found with findAll():");System.out.println("-------------------------------");for (Customer customer : repository.findAll()) {System.out.println(customer);}System.out.println();// fetch an individual customerSystem.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("存入成功");}}
- 测试结果
测试后的数据库截图
JeecgBoot与MongoDB集成实战文档相关推荐
- 涨薪神作,阿里内部火爆的实战文档和搭建项目笔记,你还怕没有项目可做吗
前言 认识一个事物最好的方式就是首先去了解它的历史. 随着Spring功能的不断丰富,版本的不断迭代发展,Spring 框架渐渐暴露出了一些问题和弊端.例如太多样板化的配置.繁琐复杂的使用过程等,我们 ...
- 阿里P8终于总结出:SpringCloud+Docker+Tomcat+Nginx实战文档了
前言 时间飞逝,转眼间毕业七年多,从事 Java 开发也六年了.我在想,也是时候将自己的 Java 整理成一套体系. 这一次的知识体系面试题涉及到 Java 知识部分.性能优化.微服务.并发编程.开源 ...
- MongoDB基本概念学习 - 文档
MongoDB的概念和关系型数据库概念的对应如下: 数据库对应数据库:表对应集合:行对应文档: mongodb的 文档 大体相当于关系数据库的行: MongoDB中,文档是一组键值(key-value ...
- javaee 中文帮助文档_大牛耗时三天整理的:微服务+Nginx+Kubernetes实战文档和面试题...
前言 十年之前,相信大家掌握了Java EE互联网轻量级框架整合开发 SSM框架SpringMVC+Spring+MyBatis就已经能够轻轻松松找到一份薪资很高的java开发工作了,而如今只会SSM ...
- mysql mongodb 事务_MySQL PK MongoDB:多文档事务支持,谁更友好?
原标题:MySQL PK MongoDB:多文档事务支持,谁更友好? 作者介绍 贺春旸,凡普金科DBA团队负责人,<MySQL管理之道:性能调优.高可用与监控>第一.二版作者,曾任职于中国 ...
- spring mongodb内嵌文档查询
spring mongodb内嵌文档查询 代码示例 简化写法 spring mongodb内嵌文档查询示例. {"name": "zsParent", &quo ...
- MongoDB内嵌文档查询
MongoDB内嵌文档查询 示例数据结构 [{"name": "lisa", "age": 17,"friends": ...
- 华为19级专家10年心血终成百页负载均衡高并发网关设计实战文档
负载均衡(LoadBalance)的字面意思是将工作负载分担到多个工作单元上进行执行,它建立在现有网络结构之上,是构建分布式服务.大型网络应用的关键组件. 近十几年来,负载均衡技术层出不穷,令人眼花缭 ...
- 华为19级大佬10年心血终成百页负载均衡高并发网关设计实战文档
说在前面的话 负载均衡(LoadBalance)的字面意思是将工作负载分担到多个工作单元上进行执行,它建立在现有网络结构之上,是构建分布式服务.大型网络应用的关键组件. 近十几年来,负载均衡技术层出不 ...
最新文章
- JS中window.event事件使用详解
- 已安装内存和可用内存不一致 4GB内存在win1064位系统中显示为可用 3.87GB解决办法
- 北斗导航 | 北三全球电离层延迟修正模型——BDGIM模型(附C源代码)
- 考究Hadoop中split的计算方法
- c语言查单词小程序,【附源码】小程序初窥之简单查单词
- 前端学习(1936)vue之电商管理系统电商系统之再关闭对话框defkeys
- LeetCode 944. 删列造序
- 国内最缺的架构实践,DDD领域驱动设计排第一!
- Spring:Spring-过滤器Filter原理
- android scalex中心,androidmatrix android怎么算matrix中心点
- 图像有损压缩与无损压缩_图像:有损与无损压缩
- Autojs之QQ 群发消息(是QQ 群发,不是QQ群 发)
- 三星手机服务器暂时不可用是怎么回事,三星手机用户注意了!三星云将于2017年1月20日起停止服务...
- ui 名前空間の Aura コンポーネントの廃止
- 奇点云完成8000万元B2轮融资,加速云原生技术布局
- 项目成本管理:项目成本控制
- Log4cpp: log4cpp快速使用指南
- 别人看我真威风,我羡别人好轻松
- NTT(快速数论变换)模板
- javascript运算符:==与===的区别,||和特殊用法