一、引入依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

二、配置文件

spring:application:name: xc‐service‐manage‐cms(本项目名)data:mongodb:uri: mongodb://root:123@localhost:27017(账号root, 密码123,端口27017)database: xc_cms(连接的数据库名称)

三、实体类

package com.xuecheng.framework.domain.cms;import lombok.Data;
import lombok.ToString;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;import java.util.Date;
import java.util.List;/*** @Author: mrt.* @Description:* @Date:Created in 2018/1/24 10:04.* @Modified By:*/
//指定的集合名称
@Document(collection = "cms_page")
public class CmsPage {/*** 页面名称、别名、访问地址、类型(静态/动态)、页面模版、状态*///站点IDprivate String siteId;//页面ID@Idprivate String pageId;//页面名称private String pageName;//别名private String pageAliase;//访问地址private String pageWebPath;//参数private String pageParameter;//物理路径private String pagePhysicalPath;//类型(静态/动态)private String pageType;//页面模版private String pageTemplate;//页面静态化内容private String pageHtml;//状态private String pageStatus;//创建时间private Date pageCreateTime;//模版idprivate String templateId;//参数列表private List<CmsPageParam> pageParams;//模版文件Id
//    private String templateFileId;//静态文件Idprivate String htmlFileId;//数据Urlprivate String dataUrl;public String getSiteId() {return siteId;}public void setSiteId(String siteId) {this.siteId = siteId;}public String getPageId() {return pageId;}public void setPageId(String pageId) {this.pageId = pageId;}public String getPageName() {return pageName;}public void setPageName(String pageName) {this.pageName = pageName;}public String getPageAliase() {return pageAliase;}public void setPageAliase(String pageAliase) {this.pageAliase = pageAliase;}public String getPageWebPath() {return pageWebPath;}public void setPageWebPath(String pageWebPath) {this.pageWebPath = pageWebPath;}public String getPageParameter() {return pageParameter;}public void setPageParameter(String pageParameter) {this.pageParameter = pageParameter;}public String getPagePhysicalPath() {return pagePhysicalPath;}public void setPagePhysicalPath(String pagePhysicalPath) {this.pagePhysicalPath = pagePhysicalPath;}public String getPageType() {return pageType;}public void setPageType(String pageType) {this.pageType = pageType;}public String getPageTemplate() {return pageTemplate;}public void setPageTemplate(String pageTemplate) {this.pageTemplate = pageTemplate;}public String getPageHtml() {return pageHtml;}public void setPageHtml(String pageHtml) {this.pageHtml = pageHtml;}public String getPageStatus() {return pageStatus;}public void setPageStatus(String pageStatus) {this.pageStatus = pageStatus;}public Date getPageCreateTime() {return pageCreateTime;}public void setPageCreateTime(Date pageCreateTime) {this.pageCreateTime = pageCreateTime;}public String getTemplateId() {return templateId;}public void setTemplateId(String templateId) {this.templateId = templateId;}public List<CmsPageParam> getPageParams() {return pageParams;}public void setPageParams(List<CmsPageParam> pageParams) {this.pageParams = pageParams;}public String getHtmlFileId() {return htmlFileId;}public void setHtmlFileId(String htmlFileId) {this.htmlFileId = htmlFileId;}public String getDataUrl() {return dataUrl;}public void setDataUrl(String dataUrl) {this.dataUrl = dataUrl;}
}

三、MongoRepository(和JPA一样,因为MongoDB和关系型数据库差别不大,也可以用@Query自定义查询语句)

package com.xuecheng.manage_cms.dao;import com.xuecheng.framework.domain.cms.CmsPage;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository;/*** @author Huang* @version 1.0* @date 2020/3/18 20:38*/
@Repository
public interface CmsPageRepository extends MongoRepository<CmsPage, String> {@Query(value = "{'pageId':?0, 'pageName':?1}")public CmsPage findByPageIdAndPageName(String pageId, String pageName);*** 查找除id以外的其他所有(参考)*/@Query("{'id':{'$ne':?0}}")List<Module> findAllExceptId(String id);
}

四、单元测试

  /*** 分页查询*/@Testpublic void test01(){Sort.Order order = new Sort.Order(Sort.Direction.DESC, "id");Pageable pageable = PageRequest.of(1, 2, Sort.by(order));Page<CmsPage> all = cmsPageRepository.findAll(pageable);System.out.println("????" + all.getContent());}//添加@Testpublic void testInsert(){//定义实体类CmsPage cmsPage = new CmsPage();cmsPage.setSiteId("s01");cmsPage.setTemplateId("t01");cmsPage.setPageName("测试页面");cmsPage.setPageCreateTime(new Date());List<CmsPageParam> cmsPageParams = new ArrayList<>();CmsPageParam cmsPageParam = new CmsPageParam();cmsPageParam.setPageParamName("param1");cmsPageParam.setPageParamValue("value1");cmsPageParams.add(cmsPageParam);cmsPage.setPageParams(cmsPageParams);cmsPageRepository.save(cmsPage);System.out.println(cmsPage);}//删除@Testpublic void testDelete() {cmsPageRepository.deleteById("5b17a2c511fe5e0c409e5eb3");}//修改@Testpublic void testUpdate() {Optional<CmsPage> optional = cmsPageRepository.findOne("5b17a34211fe5e2ee8c116c9");if(optional.isPresent()){CmsPage cmsPage = optional.get();cmsPage.setPageName("测试页面01");cmsPageRepository.save(cmsPage);}}

关于Optional:
Optional是jdk1.8引入的类型,Optional是一个容器对象,它包括了我们需要的对象,使用isPresent方法判断所包
含对象是否为空,isPresent方法返回false则表示Optional包含对象为空,否则可以使用get()取出对象进行操作。
Optional的优点是:
1、提醒你非空判断。
2、将对象非空检测标准化。

SpringBoot---MongoDB的简单使用相关推荐

  1. idea+springboot+mongodb的简单测试使用分享

    1,先去官网下载,选择版本,选择Windows,就可以点击下载了. 2,安装mongodb. 下一步安装 "install mongoDB compass" 不勾选(当然你也可以选 ...

  2. idea+springboot+mongodb的实战使用分享

    昨天的时候我们先在网上找了测试类,测试了一下mongdb的简单使用,今天就来实地在项目中用一用 没安装mongodb的参考我上一篇文章:idea+springboot+mongodb的简单测试使用分享 ...

  3. MongoDB最简单的入门教程之四:使用Spring Boot操作MongoDB

    Spring Boot 是一个轻量级框架,可以完成基于 Spring 的应用程序的大部分配置工作.Spring Boot的目的是提供一组工具,以便快速构建容易配置的Spring应用程序,省去大量传统S ...

  4. 补习系列(16)-springboot mongodb 数据库应用技巧

    目录 一.关于 MongoDB 二.Spring-Data-Mongo 三.整合 MongoDB CRUD A. 引入框架 B. 数据库配置 C. 数据模型 D. 数据操作 E. 自定义操作 四.高级 ...

  5. SpringBoot MongoDB 插入内容去掉_class字段

    看了一些网上去掉_class的文章 基本都是一样的 加个MongoConfig 配置文件,而且没有参考源码.直接添加一个MongoConfig 配置文件并没有什么效果,可能是还有别的地方需要做修改吧, ...

  6. SpringBoot+MongoDB GridFS文件上传、下载、预览实战

    SpringBoot + MongoDB GridFS 随着web 3.0的兴起,数据的形式不局限于文字,还有语音.视频.图片等.高效存储与检索二进制数据也成为web 3.0必须要考虑的问题.然而这种 ...

  7. SpringBoot+MongoDB实现一个物流订单系统

    码字不易,点赞收藏,养成习惯!原创作者公众号:bigsai,回复bigsai领取5G的PDF学习资源!共同进步.更多精彩期待与您分享! 项目收录在github的MongoDB案例中,文章收录在回车课堂 ...

  8. mongodb的简单使用

    mongodb的简单使用 1. mongodb服务端的启动 默认端口:27017 默认配置文件的位置:/etc/mongod.conf 默认日志的位置:/var/log/mongodb/mongod. ...

  9. MongoDB的简单操作

    MongoDB的简单操作 ( mac系统下mongDB的图形管理工具为:mongoHub ) ( windows系统下mongDB的图形管理工具为:mongoVUE ) 1.mongoDB通过终端创建 ...

  10. MongoDB最简单的入门教程之五-通过Restful API访问MongoDB

    通过前面四篇的学习,我们已经在本地安装了一个MongoDB数据库,并且通过一个简单的Spring boot应用的单元测试,插入了几条记录到MongoDB中,并通过MongoDB Compass查看到了 ...

最新文章

  1. Atitit 为什么网络会有延时 电路交换与分组交换的区别
  2. Ruby,Python和Java中的Web服务
  3. python读取excel列数据库_python中读取excel数据库
  4. *++p和*p++的区别
  5. mysql 8.0 postgresql_PostgreSQL8.0的安装和配置- -
  6. layui table 分页 序号始终从”1“开始解决方法
  7. sql server 2008安装图解
  8. VB获得磁盘的文件系统
  9. jemalloc优化MySQL、Nginx内存管理
  10. 唐宇迪机器学习课程笔记:随机森林
  11. 开发用的到java数组吗_java数组
  12. 多图丨入门必看:万字长文带你轻松了解CRM
  13. Reader/Writer字符流概述和使用方法
  14. 浙江大学2022年计算机考研复试一般考什么
  15. AHRS和IMU的区别
  16. 使用虚拟机备份软件恢复Microsoft Hyper-V虚拟机
  17. Eclipse 注释乱码
  18. 赤橙黄绿青蓝紫html颜色,赤橙黄绿青蓝紫七种颜色的代码?
  19. TWS ChargerBox 驱动篇(一):Charger
  20. 【算法设计与分析】排序算法性能分析

热门文章

  1. 欣灵电气递交注册:年营收5.2亿 胡志兴家族色彩浓厚
  2. GPRS连接阿里云物联网平台一
  3. JavaScript——leetcode算法入门876. 链表的中间结点【双指针专题】
  4. 上班族致富五大途径解密
  5. LATEX数学公式教程
  6. ES6-ES11笔记(1)
  7. 关于C++中重定义:不同类型的基类型问题
  8. Matlab函数之prctile
  9. 雅虎黑客事件严重 Verizon表示可能放弃收购
  10. leetcode刷题记录2:进度64, 2021.10.23