SpringBoot操作MongoDB實現增刪改查

SpringBoot操作MongoDB實現增刪改查
本篇博客主講如何使用SpringBoot操作MongoDB。

SpringBoot操作MongoDB實現增刪改查

(1)pom.xml引入依賴

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

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

@Id
private 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.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 {

@Autowired
private MongoTemplate mongoTemplate;

/**
 * 新增信息
 * @param student
 */
@Override
public void save(Student student) {
    mongoTemplate.save(student);
}

/**
 * 修改信息
 * @param student
 */
@Override
public 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
 */
@Override
public List<Student> findAll() {
    return mongoTemplate.findAll(Student.class);
}

/**
 * 根據id查詢所有信息
 * @param id
 */
@Override
public 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.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 {

@Autowired
private StudentDao studentDao;

/**
 * 查詢所有信息
 */
@Test
public void findAll() {
    List<Student> all = studentDao.findAll();
    System.out.println(all.size());
}

/**
 * 新增信息
 */
@Test
public void save() {
    Student student = new Student();
    student.setId(6l);
    student.setName("宋人頭");
    studentDao.save(student);
}

/**
 * 修改信息
 */
@Test
public void update() {
    Student student = new Student();
    student.setId(2l);
    student.setName("吳很帥");
    studentDao.update(student);
}

/**
 * 刪除信息
 */
@Test
public void delete() {
    studentDao.delete(3);
}

}


作者:丟了微笑該如何釋懷
來源:CSDN
原文:https://blog.csdn.net/weixin_42236165/article/details/91884029
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章