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);