我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Spring Boot MongoDB

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Spring Boot MongoDB

Spring Boot MongoDB

1.  Linux下启动MongoDB并使用mongosh连接

启动方式有两种:

  • systemctl start mongod
  • mongod  <选项参数>

启动的时候有可能会报类似如下的错误

ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=14)

mongod.service: Control process exited, code=exited status=14

当看到这种“code=exited, status=14”的时候,一般是文件或目录权限问题,即执行mongodb启动命令的用户对某些文件或目录没有访问权限,此时应检查一些几个文件或目录:

  • /var/run/mongodb/
  • /var/log/mongodb/
  • /var/lib/mongo/
  • /tmp @Data @NoArgsConstructor @AllArgsConstructor @Document(collection = "film") public class Film implements Serializable { @Id private String id; private String name; private List category; }

    然后,利用MongoTemplate进行操作

    package com.cjs.example;
    
    import com.cjs.example.domain.Film;
    import com.cjs.example.repository.FilmRepository;
    import org.junit.jupiter.api.Test;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.data.mongodb.core.MongoTemplate;
    import org.springframework.data.mongodb.core.query.Criteria;
    import org.springframework.data.mongodb.core.query.Query;
    
    import javax.annotation.Resource;
    import java.util.Arrays;
    import java.util.List;
    
    @SpringBootTest
    class DemoMongodbApplicationTests {
    
        @Resource
        private MongoTemplate mongoTemplate;
    
    
        
        @Test
        void contextLoads() {
            Film film = new Film();
            film.setName("我和我的父辈");
            film.setCategory(Arrays.asList("剧情"));
            mongoTemplate.insert(film);
        }
    
        @Test
        void testQuery() {
            List filmList = mongoTemplate.findAll(Film.class);
            System.out.println(filmList);
    
            Query query = new Query();
            query.addCriteria(Criteria.where("name").is("我和我的父辈").and("category").in("爱情","战争","剧情"));
            Film film = mongoTemplate.findOne(query, Film.class);
            System.out.println(film);
        }
    
        @Test
        void testSave() {
            Film film = new Film();
            film.setId("asdfgh");
            film.setName("长津湖");
            film.setCategory(Arrays.asList("战争","历史"));
            mongoTemplate.save(film);
        }
    
    }
    

    方式二:Spring Data MongoDB Repositories 

    定义一个Repository

    package com.cjs.example.repository;
    
    import com.cjs.example.domain.Film;
    import org.springframework.data.repository.CrudRepository;
    
    import java.util.List;
    
    
    public interface FilmRepository extends CrudRepository {
        
        List findByName(String name);
    }

    完整测试代码如下:

    package com.cjs.example;
    
    import com.cjs.example.domain.Film;
    import com.cjs.example.repository.FilmRepository;
    import org.junit.jupiter.api.Test;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.data.mongodb.core.MongoTemplate;
    import org.springframework.data.mongodb.core.query.Criteria;
    import org.springframework.data.mongodb.core.query.Query;
    
    import javax.annotation.Resource;
    import java.util.Arrays;
    import java.util.List;
    
    @SpringBootTest
    class DemoMongodbApplicationTests {
    
        @Resource
        private MongoTemplate mongoTemplate;
    
        @Resource
        private FilmRepository filmRepository;
    
        
        @Test
        void contextLoads() {
            Film film = new Film();
            film.setName("我和我的父辈");
            film.setCategory(Arrays.asList("剧情"));
            mongoTemplate.insert(film);
        }
    
        @Test
        void testQuery() {
            List filmList = mongoTemplate.findAll(Film.class);
            System.out.println(filmList);
    
            Query query = new Query();
            query.addCriteria(Criteria.where("name").is("我和我的父辈").and("category").in("爱情","战争","剧情"));
            Film film = mongoTemplate.findOne(query, Film.class);
            System.out.println(film);
        }
    
        @Test
        void testSave() {
            Film film = new Film();
            film.setId("asdfgh");
            film.setName("长津湖");
            film.setCategory(Arrays.asList("战争","历史"));
            mongoTemplate.save(film);
        }
    
        @Test
        void testSaveByRepository() {
            filmRepository.save(new Film("1234", "火影忍者", Arrays.asList("动画","喜剧","动作","冒险")));
        }
    
        @Test
        void testQueryByRepository() {
            Film film = filmRepository.findById("1234").orElse(null);
            System.out.println(film);
            film = filmRepository.findByName("火影忍者").get(0);
            System.out.println(film);
    
            filmRepository.findAll().forEach(System.out::println);
        }
    }
    

    工程结构如下:

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Spring Boot MongoDB

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Spring Boot MongoDB

1.  Linux下启动MongoDB并使用mongosh连接启动方式有两种:systemctl start mongodmongod  启动的时候有可能会报类似如下的错误:ExecStart=/usr/bin/mongod $OPTIONS (code=ex
Spring Boot MongoDB
2017-05-04

Spring + Spring Boot + MyBatis + MongoDB的整合教程

前言我之前是学Spring MVC的,后面听同学说Spring Boot挺好用,极力推荐我学这个鬼。一开始,在网上找Spring Boot的学习资料,他们博文写得不是说不好,而是不太详细。我就在想我要自己写一篇尽可能详细的文章出来,下面话不
2023-05-30

利用Spring Boot操作MongoDB的方法教程

MongoDBMongoDB作为一种NoSQL数据库产品,其实已经非常著名了。去年,由于MongoDB安全认证的薄弱,上万家公司中招。虽然是一则负面新闻,但是也从侧面说明了MongoDB的流行程度。下图是DB-Engines统计的2017年
2023-05-31

mongodb如何正确的在Spring boot中使用

这篇文章给大家介绍mongodb如何正确的在Spring boot中使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。MongoDB是最早热门非关系数据库的之一,使用也比较普遍,一般会用做离线数据分析来使用,放到内网的
2023-05-31

Spring Boot Sample 024之spring-boot-data-influxdb

一、环境Idea 2020.1JDK 1.8maven二、目的spring boot 通过整合influxdbgitHub地址: https://github.com/ouyushan/ouyushan-spring-boot-samples三、步骤3.1、点

	Spring Boot Sample 024之spring-boot-data-influxdb
2018-10-02

使用Spring Boot如何实现对MongoDB进行整合

本篇文章给大家分享的是有关使用Spring Boot如何实现对MongoDB进行整合,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。MongoDB是什么?MongoDB是一个No
2023-05-31

MongoDB数据库如何在spring boot项目中使用

MongoDB数据库如何在spring boot项目中使用?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。依赖 org.spring
2023-05-31

Spring MVC 详解 (Spring Boot)

Spring MVC 详解 - Spring Boot 一、什么是 Spring MVC1.1 MVC 定义1.2 MVC 和 Spring MVC 的关系1.3 学习目的 二、Spring MVC 创建和连接2.1 创建 Sp
Spring MVC 详解 (Spring Boot)
2023-12-22

Spring Boot Dubbo Zookeeper

文章目录 Spring Boot Dubbo Zookeeper简介DubboCommonProviderConsumer Zookeeper Spring Boot Dubbo Zookeeper 简介 Dubbo
2023-08-30

spring、spring MVC和spring Boot是什么

这篇文章主要介绍“spring、spring MVC和spring Boot是什么”,在日常操作中,相信很多人在spring、spring MVC和spring Boot是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希
2023-06-05

spring-boot中spring-boot-maven-plugin报红错误及解决

这篇文章主要介绍了spring-boot中spring-boot-maven-plugin报红错误及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-03-01

编程热搜

目录