本文仅限于单数据库、单对象的CURD,如果涉及多对象、数据库切换或者数据桶的切换,需要自己去实现!!!!!!!
官方文档
https://docs.spring.io/spring-data/mongodb/docs/current/reference/html/
POM:
spring boot :
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.5</version>
<relativePath/>
</parent>
mongoDB :
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
yml配置
spring:
data:
mongodb:
database: test # 连接默认目标库
uri: mongodb://localhost:27017,localhost:27017,localhost:27017/admin # 用户认证需要使用admin库进行认证
一步走:注册一个映射mongo对象的实体类
@Data
public class FileEntity {
/**
* 类型为String,MongoDB自动分配id
*/
private String id;
/**
* 文件名
*/
private String name;
/**
* 文件内容
*/
private Binary content;
/**
* 文件类型
*/
private String type;
/**
* 文件大小
*/
private long size;
/**
* 上传时间
*/
private Date createTime;
private String username;
}
二步走:添加MongoRepository接口
public interface FileEntityDao extends MongoRepository<FileEntity,String> {
}
三步走:使用时注入自定义的接口:
@Componet
public class test{
@Autowired
private FileEntityDao fileEntityDao;
public void test(){
Optional<FileEntity> optionalFileEntity = fileEntityDao.findById(id);
if(optionalFileEntity.isPresent()){
//取到文件实体类即可操作
FileEntity file = optionalFileEntity.get();
}
}
}