【MongoDB】Springboot中MongoDB简单使用

Myth丶恋晨 2024-03-24 22:24 126阅读 0赞

1. docker安装MongoDB

拉取镜像

  1. docker pull mongo

创建容器

  1. docker run -di --name mongo-service --restart=always -p 27017:27017 -v ~/data/mongodata:/data mongo

2. 导入依赖

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-data-mongodb</artifactId>
  4. </dependency>

3. 配置文件

application.yml

  1. server:
  2. port: 9998
  3. spring:
  4. data:
  5. mongodb:
  6. host: 192.168.200.130
  7. port: 27017
  8. database: leadnews-history

4. 实体类映射

  1. package com.mongo.pojo;
  2. import lombok.Data;
  3. import org.springframework.data.mongodb.core.mapping.Document;
  4. import java.io.Serializable;
  5. import java.util.Date;
  6. /**
  7. * <p>
  8. * 联想词表
  9. * </p>
  10. *
  11. * @author zsx
  12. */
  13. @Data
  14. @Document("ap_associate_words")
  15. public class ApAssociateWords implements Serializable {
  16. private static final long serialVersionUID = 1L;
  17. private String id;
  18. /**
  19. * 联想词
  20. */
  21. private String associateWords;
  22. /**
  23. * 创建时间
  24. */
  25. private Date createdTime;
  26. }

5. 测试

  1. package com.zsx.mongo.test;
  2. import com.zsx.mongo.MongoApplication;
  3. import com.zsx.mongo.pojo.ApAssociateWords;
  4. import org.junit.Test;
  5. import org.junit.runner.RunWith;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.boot.test.context.SpringBootTest;
  8. import org.springframework.data.domain.Sort;
  9. import org.springframework.data.mongodb.core.MongoTemplate;
  10. import org.springframework.data.mongodb.core.query.Criteria;
  11. import org.springframework.data.mongodb.core.query.Query;
  12. import org.springframework.test.context.junit4.SpringRunner;
  13. import java.util.Date;
  14. import java.util.List;
  15. @SpringBootTest(classes = MongoApplication.class)
  16. @RunWith(SpringRunner.class)
  17. public class MongoTest {
  18. @Autowired
  19. private MongoTemplate mongoTemplate;
  20. //保存
  21. @Test
  22. public void saveTest(){
  23. /*for (int i = 0; i < 10; i++) {
  24. ApAssociateWords apAssociateWords = new ApAssociateWords();
  25. apAssociateWords.setAssociateWords("黑马头条");
  26. apAssociateWords.setCreatedTime(new Date());
  27. mongoTemplate.save(apAssociateWords);
  28. }*/
  29. ApAssociateWords apAssociateWords = new ApAssociateWords();
  30. apAssociateWords.setAssociateWords("黑马直播");
  31. apAssociateWords.setCreatedTime(new Date());
  32. mongoTemplate.save(apAssociateWords);
  33. }
  34. //查询一个
  35. @Test
  36. public void saveFindOne(){
  37. ApAssociateWords apAssociateWords = mongoTemplate.findById("60bd973eb0c1d430a71a7928", ApAssociateWords.class);
  38. System.out.println(apAssociateWords);
  39. }
  40. //条件查询
  41. @Test
  42. public void testQuery(){
  43. Query query = Query.query(Criteria.where("associateWords").is("黑马头条"))
  44. .with(Sort.by(Sort.Direction.DESC,"createdTime"));
  45. //query.with(Sort.by(Sort.Direction.DESC,"createdTime")); //按createdTime倒序排序
  46. //query.limit(userSearchDto.getPageSize()); //查询多少条
  47. List<ApAssociateWords> apAssociateWordsList = mongoTemplate.find(query, ApAssociateWords.class);
  48. System.out.println(apAssociateWordsList);
  49. }
  50. @Test
  51. public void testDel(){
  52. mongoTemplate.remove(Query.query(Criteria.where("associateWords").is("黑马头条")),ApAssociateWords.class);
  53. }
  54. }

tips: 使用navicat Premium 15以上版本,可以连接MongoDB 查看数据

发表评论

表情:
评论列表 (有 0 条评论,126人围观)

还没有评论,来说两句吧...

相关阅读

    相关 MongoDB简单使用

    一、MongoDB简介   1、MongoDB是一个基于分布式文件存储的数据库。由 [C++][C]语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。