SpringBoot操作MongoDB实现增删改查
本篇博客主讲如何使用SpringBoot操作MongoDB。

SpringBoot操作MongoDB实现增删改查

(1)pom. 引入依赖

        <groupId>org.spring work.boot</groupId>        <artifactId>spring-boot-starter-data-mongodb</artifactId>    </dependency>

(2)创建application.yml

spring:
data:

mongodb:  host: 192.168.72.129  data : studentdb

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

package com.changan.mongdb.pojo;

import org.spring work.data.annotation.Id;
import org.spring work.data.mongodb.core.mapping.Document;

import java.io.Serializable;

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

@Idprivate Long id;private String name;private String sex;private String age;private String introduce;public String getSex() {    return sex;}public void setSex(String sex) {    this.sex = sex;}public String getAge() {    return age;}public void setAge(String age) {    this.age = age;}public String getIntroduce() {    return introduce;}public void setIntroduce(String introduce) {    this.introduce = introduce;}public String getName() {    return name;}public void setName(String name) {    this.name = name;}public Long getId() {    return id;}public void setId(Long id) {    this.id = id;}

}

(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 {

void save(Student student);void update(Student student);List<Student> findAll();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.spring work.beans.factory.annotation.Autowired;
import org.spring work.data.mongodb.core.MongoTemplate;
import org.spring work.data.mongodb.core.aggregation.Aggregation;
import org.spring work.data.mongodb.core.aggregation.LookupOperation;
import org.spring work.data.mongodb.core.query.Criteria;
import org.spring work.data.mongodb.core.query.Query;
import org.spring work.data.mongodb.core.query.Update;
import org.spring work.stereotype.Component;

import java.util.List;

@Component
public class StudentDaoImpl implements StudentDao {

@Autowiredprivate MongoTemplate mongoTemplate;/** * 新增信息 * @param student */@Overridepublic void save(Student student) {    mongoTemplate.save(student);}/** * 修改信息 * @param student */@Overridepublic void update(Student student) {    //修改的条件    Query query = new Query(Criteria.where("id").is(student.getId()));    //修改的内容    Update update = new Update();    update.set("name",student.getName());    mongoTemplate.updateFirst(query,update,Student.class);}/** * 查询所有信息 * @return */@Overridepublic List<Student> findAll() {    return mongoTemplate.findAll(Student.class);}/** * 根据id查询所有信息 * @param id */@Overridepublic void delete(Integer id) {    Student byId = mongoTemplate.findById(1,Student.class);    mongoTemplate.remove(byId);}

}

(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.spring work.beans.factory.annotation.Autowired;
import org.spring work.boot.test.context.SpringBootTest;
import org.spring work.test.context.junit4.SpringRunner;

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

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

@Autowiredprivate StudentDao studentDao;/** * 查询所有信息 */@Testpublic void findAll() {    List<Student> all = studentDao.findAll();    System.out.println(all.size());}/** * 新增信息 */@Testpublic void save() {    Student student = new Student();    student.setId(6l);    student.setName("宋人头");    studentDao.save(student);}/** * 修改信息 */@Testpublic void update() {    Student student = new Student();    student.setId(2l);    student.setName("吴很帅");    studentDao.update(student);}/** * 删除信息 */@Testpublic void delete() {    studentDao.delete(3);}

}


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

收藏 打印