SpringBoot操作MongoDB实现增删改查

Posted hyhy904

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot操作MongoDB实现增删改查相关的知识,希望对你有一定的参考价值。

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

SpringBoot操作MongoDB实现增删改查

(1)pom.xml引入依赖

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
1
2
3
4
(2)创建application.yml

spring:
data:
mongodb:
host: 192.168.72.129
database: studentdb
1
2
3
4
5
(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;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
(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);

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
(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);


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
(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(http://www.my516.com)
studentDao.delete(3);

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60

---------------------

以上是关于SpringBoot操作MongoDB实现增删改查的主要内容,如果未能解决你的问题,请参考以下文章

Java操作MongoDB的增删改查,完整项目分享

Java操作MongoDB的增删改查,完整项目分享

nodejs驱动mongodb 实现数据增删改查

Java springboot之Mongodb增删改查

mongodb 集合操作 (增删改查)

利用SpringBoot实现RestFul风格的增删改查操作