SpringBoot操作MongoDB实现增删改查

港控/mmm° 2022-01-06 00:39 523阅读 0赞

转自: https://blog.csdn.net/weixin_42236165/article/details/91884029

RabbitMQ事务之Confirm模式(一批): https://blog.csdn.net/zyf13716764752/article/details/91372910

Java中常见的对象类型简述(DO、BO、DTO、VO、AO、PO): https://blog.csdn.net/kl28978113/article/details/90666255

RabbitMQ事务之Confirm模式(发送一条): https://blog.csdn.net/zyf13716764752/article/details/91372676

本篇博客主讲如何使用SpringBoot操作MongoDB。

SpringBoot操作MongoDB实现增删改查

(1)pom.xml引入依赖


org.springframework.boot
spring-boot-starter-data-mongodb

(2)创建application.yml

spring:
data:
mongodb:
host: 192.168.72.129
database: studentdb

(3)创建实体类
创建包com.changan.mongodb,包下建包pojo 用于存放实体类,创建实体类

package com.changan.mongdb.pojo;

import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

import java.io.Serializable;

@Document(collection = “student”)
public class Student implements Serializable {

  1. @Id
  2. private Long id;
  3. private String name;
  4. private String sex;
  5. private String age;
  6. private String introduce;
  7. public String getSex() \{
  8. return sex;
  9. \}
  10. public void setSex(String sex) \{
  11. this.sex = sex;
  12. \}
  13. public String getAge() \{
  14. return age;
  15. \}
  16. public void setAge(String age) \{
  17. this.age = age;
  18. \}
  19. public String getIntroduce() \{
  20. return introduce;
  21. \}
  22. public void setIntroduce(String introduce) \{
  23. this.introduce = introduce;
  24. \}
  25. public String getName() \{
  26. return name;
  27. \}
  28. public void setName(String name) \{
  29. this.name = name;
  30. \}
  31. public Long getId() \{
  32. return id;
  33. \}
  34. public void setId(Long id) \{
  35. this.id = id;
  36. \}

}

(4)创建数据访问接口
com.changan.mongodb包下创建dao包,包下创建接口

package com.changan.mongdb.dao;

import com.changan.mongdb.pojo.Student;

import java.util.List;
import java.util.Map;

public interface StudentDao {

  1. void save(Student student);
  2. void update(Student student);
  3. List<Student> findAll();
  4. void delete(Integer id);

}

(5)创建业务逻辑类
com.changan.mongodb包下创建impl包,包下创建类

package com.changan.mongdb.dao.impl;

import com.changan.mongdb.dao.StudentDao;
import com.changan.mongdb.pojo.Student;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.aggregation.Aggregation;
import org.springframework.data.mongodb.core.aggregation.LookupOperation;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
public class StudentDaoImpl implements StudentDao {

  1. @Autowired
  2. private MongoTemplate mongoTemplate;
  3. /\*\*
  4. \* 新增信息
  5. \* @param student
  6. \*/
  7. @Override
  8. public void save(Student student) \{
  9. mongoTemplate.save(student);
  10. \}
  11. /\*\*
  12. \* 修改信息
  13. \* @param student
  14. \*/
  15. @Override
  16. public void update(Student student) \{
  17. //修改的条件
  18. Query query = new Query(Criteria.where("id").is(student.getId()));
  19. //修改的内容
  20. Update update = new Update();
  21. update.set("name",student.getName());
  22. mongoTemplate.updateFirst(query,update,Student.class);
  23. \}
  24. /\*\*
  25. \* 查询所有信息
  26. \* @return
  27. \*/
  28. @Override
  29. public List<Student> findAll() \{
  30. return mongoTemplate.findAll(Student.class);
  31. \}
  32. /\*\*
  33. \* 根据id查询所有信息
  34. \* @param id
  35. \*/
  36. @Override
  37. public void delete(Integer id) \{
  38. Student byId = mongoTemplate.findById(1,Student.class);
  39. mongoTemplate.remove(byId);
  40. \}

}

(6)创建测试类

package com.changan.mongdb;

import com.changan.mongdb.dao.StudentDao;
import com.changan.mongdb.pojo.Student;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.List;
import java.util.Map;

@RunWith(SpringRunner.class)
@SpringBootTest
public class MongdbApplicationTests {

  1. @Autowired
  2. private StudentDao studentDao;
  3. /\*\*
  4. \* 查询所有信息
  5. \*/
  6. @Test
  7. public void findAll() \{
  8. List<Student> all = studentDao.findAll();
  9. System.out.println(all.size());
  10. \}
  11. /\*\*
  12. \* 新增信息
  13. \*/
  14. @Test
  15. public void save() \{
  16. Student student = new Student();
  17. student.setId(6l);
  18. student.setName("宋人头");
  19. studentDao.save(student);
  20. \}
  21. /\*\*
  22. \* 修改信息
  23. \*/
  24. @Test
  25. public void update() \{
  26. Student student = new Student();
  27. student.setId(2l);
  28. student.setName("吴很帅");
  29. studentDao.update(student);
  30. \}
  31. /\*\*
  32. \* 删除信息
  33. \*/
  34. @Test
  35. public void delete() \{
  36. studentDao.delete(3);
  37. \}

}

-——————————
作者:丢了微笑该如何释怀
来源:CSDN
原文:https://blog.csdn.net/weixin\_42236165/article/details/91884029
版权声明:本文为博主原创文章,转载请附上博文链接!

发表评论

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

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

相关阅读