广告
返回顶部
首页 > 资讯 > 数据库 >Spring Boot MongoDB
  • 470
分享到

Spring Boot MongoDB

SpringBootMongoDB 2017-05-04 01:05:36 470人浏览 才女
摘要

1.  linux下启动mongoDB并使用monGosh连接 启动方式有两种: systemctl start mongod mongod  启动的时候有可能会报类似如下的错误: ExecStart=/usr/bin/mongo

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);
        }
    }
    

    工程结构如下:

您可能感兴趣的文档:

--结束END--

本文标题: Spring Boot MongoDB

本文链接: https://www.lsjlt.com/news/9070.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作