springboot 版本2.7.3
mongodb版本 4.2.14
依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
</dependency>
application.yaml
spring:
data:
mongodb:
uri: mongodb://tcoding:123456@127.0.0.1/hello_spring_boot?authSource=hello_spring_boot
# host: 127.0.0.1
# port: 27017
# username: tcoding
# password: 123456
# database: hello_spring_boot
# authentication-database: hello_spring_boot
这里踩了个坑
按注释掉的方式配置不行,需要以uri的方式配置方可生效
model
@Data
@Document(collection = "Book")
public class Book {
@Id
private int id;
private String bookName;
private String authorName;
}
repository
public interface BookRepository extends MongoRepository<Book, Integer> {
}
template
@Component
public class MongoTemplateHelper {
//springboot自动注入,可以直接使用
@Autowired
private MongoTemplate mongoTemplate;
// 只写了一些,有兴趣的可以了解一下其他API使用
public boolean createCollection(String name) {
return mongoTemplate.collectionExists(name);
}
public void dropCollection(String name){
mongoTemplate.dropCollection(name);
}
}
源码地址
https://github.com/googalAmbition/hello-spring-boot/tree/main/13-mongo