声明:本站文章均为作者个人原创,图片均为实际截图。如有需要请收藏网站,禁止转载,谢谢配合!!!

1、安装mongodb

https://www.mongodb.com/try/download

2、安装依赖

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

3、配置

spring:
     data:
        mongodb:
          host: localhost
          port: 27017
          database: test

4、使用

两种使用方式:Repository和Template

4.1 继承Repository接口

直接继承,适用于简单的增删改查

package com.jerry.market.repository;
import com.jerry.market.entity.Employee; //实体类
import org.springframework.data.mongodb.repository.MongoRepository;
    public interface EmployeeRepository extends MongoRepository<Employee, String> {
}

调用

//新增
Employee employee = Employee.builder().id("1").name("A").password("123").build();
employeeRepository.save(employee);

//更新
Employee employee = Employee.builder().id("1").name("张更新").password("666").build();
employeeRepository.save(employee);

//删除
employeeRepository.deleteById("1");

//查询
List<Employee> employeeList = employeeRepository.findAll();

4. 2 使用Template的方式

适合复杂的增删改查灵活

package com.jerry.market.repository;
import com.jerry.market.entity.Employee; //实体类
import org.springframework.data.mongodb.repository.MongoRepository;
public interface EmployeeRepository extends MongoRepository<Employee, String> {
}

调用

//新增
Employee employee = Employee.builder().id(IdUtil.simpleUUID()).name("B").password("123").build();
mongoTemplate.insert(employee);

//更新
Query query = Query.query(Criteria.where("id").is("2").and("name").is("王小二"));
Update update = Update.update("name", "王更新");
mongoTemplate.updateFirst(query, update, Employee.class);

//删除
Query query = Query.query(Criteria.where("id").is("2"));
mongoTemplate.remove(query, Employee.class);

//查询
List<Employee> employeeLists = this.mongoTemplate.findAll(Employee.class);