使用SpringBoot操作MongoDB

流过昼夜 提交于 2019-12-29 10:04:41
  • pom.xml

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
    
  • application.yml

    spring:
      data:
        mongodb:
          host: 192.168.126.154
          database: studentdb
    
  • Student.java

    package com.yrkedu.springboot_mongodb.pojo;
    
    import lombok.Data;
    
    @Data
    public class Student {
    
        private String id;
    
        private String content;
    
        private String name;
    
        private String userId;
    
        private Integer visits;
    }
    
  • StudentDao.java

    package com.yrkedu.springboot_mongodb.dao;
    
    import com.yrkedu.springboot_mongodb.pojo.Student;
    
    import java.util.List;
    
    public interface StudentDao {
    
        void save(Student student);
    
        void update(Student student);
    
        List<Student> findAlll();
    
        void delete(String id);
    }
    
  • StudentDaoImpl.java

    package com.yrkedu.springboot_mongodb.dao.impl;
    
    import com.yrkedu.springboot_mongodb.dao.StudentDao;
    import com.yrkedu.springboot_mongodb.pojo.Student;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.data.mongodb.core.MongoTemplate;
    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;
    
    
        @Override
        public void save(Student student) {
            mongoTemplate.save(student);
        }
    
        @Override
        public void update(Student student) {
    
            //条件
            Query query = new Query(Criteria.where("_id").is(student.getId()));
    
            //修改的内容
            Update update = new Update();
            update.set("content",student.getContent());
            update.set("userid",student.getUserId());
            update.set("name",student.getName());
            update.set("visits",student.getVisits());
    
            mongoTemplate.updateFirst(query,update,Student.class);
        }
    
        @Override
        public List<Student> findAlll() {
            return mongoTemplate.findAll(Student.class);
        }
    
        @Override
        public void delete(String id) {
            Student student = mongoTemplate.findById(id, Student.class);
            mongoTemplate.remove(student);
        }
    }
    
  • StudentController.java

    package com.yrkedu.springboot_mongodb.controller;
    
    import com.yrkedu.springboot_mongodb.dao.StudentDao;
    import com.yrkedu.springboot_mongodb.pojo.Student;
    import org.springframework.beans.factory.annotation.Autowired;
    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.web.bind.annotation.*;
    
    import java.util.List;
    
    @RestController
    public class StudentController {
    
        @Autowired
        private StudentDao studentDao;
    
        @PostMapping("/save")
        public String save(Student student) {
            try {
                studentDao.save(student);
                return "1";
            } catch (Exception e) {
                e.printStackTrace();
                return "0";
            }
        }
    
        @PutMapping("/update")
        public String update(Student student) {
            studentDao.update(student);
            return "1";
        }
    
        @GetMapping("/findAll")
        public List<Student> findAlll() {
            return studentDao.findAlll();
        }
    
        @DeleteMapping("/delete")
        public String delete(String id) {
            studentDao.delete(id);
            return "1";
        }
    }
    

使用SpringData-JPA操作MongoDB

https://blog.csdn.net/feinifi/article/details/83024898
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!