码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • SpringBoot整合Mongodb


     

    目录

    1 创建模块

    2 配置文件

    3 使用MongoTemplate进行CRUD


    1 创建模块

    选nosql:spring data mangodb

    或手动导入依赖

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

    2 配置文件

    1. spring:
    2. data:
    3. mongodb:
    4. # 最后一个ssm_db是数据库的名字
    5. uri: mongodb://localhost/ssm_db


    3 使用MongoTemplate进行CRUD

     

    1. package com.qing;
    2. import com.domain.Book;
    3. import org.junit.jupiter.api.Test;
    4. import org.springframework.beans.factory.annotation.Autowired;
    5. import org.springframework.boot.test.context.SpringBootTest;
    6. import org.springframework.data.mongodb.core.MongoTemplate;
    7. import org.springframework.data.mongodb.core.query.Criteria;
    8. import org.springframework.data.mongodb.core.query.Query;
    9. import org.springframework.data.mongodb.core.query.Update;
    10. import org.springframework.data.mongodb.gridfs.GridFsCriteria;
    11. import java.util.List;
    12. @SpringBootTest
    13. class SpringbootMongoApplicationTests {
    14. @Autowired
    15. private MongoTemplate mongoTemplate;
    16. //增
    17. @Test
    18. void testSave() {
    19. Book book = new Book(2,"springboot学习手册", "工具书", "不会就翻书");
    20. mongoTemplate.save(book);
    21. }
    22. //查所有
    23. @Test
    24. void testFind() {
    25. List<Book> books = mongoTemplate.findAll(Book.class);
    26. for (Book book:books) {
    27. System.out.println(book);
    28. }
    29. }
    30. //条件查询
    31. @Test
    32. void testFindBy() {
    33. Book book = new Book();
    34. book.setId(1);
    35. Query query = new Query(Criteria.where("id").is(1)
    36. .and("name").is("springboot学习手册"));
    37. List<Book> books = mongoTemplate.find(query,Book.class);
    38. for (Book book1:books) {
    39. System.out.println(book1);
    40. }
    41. }
    42. //删
    43. @Test
    44. void testRemove() {
    45. Query query = new Query(Criteria.where("id").is(2));
    46. mongoTemplate.remove(query,Book.class);
    47. }
    48. //改
    49. @Test
    50. void testUpdate() {
    51. Query query = new Query(Criteria.where("name").is("springboot学习手册"));
    52. Update update = new Update();
    53. update.set("name","万能学习手册");
    54. update.set("type","手册");
    55. mongoTemplate.updateMulti(query,update,Book.class);
    56. }
    57. }

     最后附上

    1. package com.domain;
    2. import lombok.Data;
    3. @Data
    4. public class Book {
    5. private Integer id;
    6. private String name;
    7. private String type;
    8. private String description;
    9. public Book() {
    10. }
    11. public Book(Integer id, String name, String type, String description) {
    12. this.id = id;
    13. this.name = name;
    14. this.type = type;
    15. this.description = description;
    16. }
    17. public Book(String name, String type, String description) {
    18. this.name = name;
    19. this.type = type;
    20. this.description = description;
    21. }
    22. }

     

  • 相关阅读:
    Kafka -- 架构、分区、副本
    docker下的onlyoffice安装(for seafile)
    KMP 算法
    设计模式:代理模式(C#、JAVA、JavaScript、C++、Python、Go、PHP)
    二叉树的中序遍历三种解法(递归+迭代+线索化)
    软考中级(网络工程师考核要点)第一章 计算机网络系统(信道特性应用)第六期(4B/5B编码、数字调制技术和脉冲编码调制)
    深入了解“注意力”和“变形金刚” -第1部分
    一文详解:springboot多数据源配置--传统的xml方式(附带源码)
    macrodata数据集在Python统计建模和计量经济学中的应用
    2022年金三银四Java后端面试最全攻略,史上最全的Java面试题总汇(附答案)
  • 原文地址:https://blog.csdn.net/m0_45877477/article/details/125520637
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号