Spring Boot 集成 MongoDB
Spring Boot 集成 MongoDB
简介
MongoDB 和 Redis 一样,都属于 NoSQL 型的数据库,即非关系型的数据库;区别在于 Redis 的读写速度非常快,
一些操作频繁的场景很适合,作为临时缓存;而 MongoDB 善于存储,面对的是百万级甚至千万级的数据。
Spring-data-mongodb提供了MonngoTemplate和MongoRepository两种方式访问mongodb,
MongoResitory操纵简单 ,
MongoTemplate操作灵活,
我们在项目中可以灵活的使用这两种方式操作mongodb
搭建开发环境
- 引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
- 修改配置文件
spring.data.mongodb.uri=mongodb://192.168.19.130:27017/test
- 创建实体类
@Data
@Document("User")
public class User {
@Id
private String id;
private String name;
private Integer age;
private String email;
}
- 测试
@SpringBootTest
class MongoDbTestApplicationTests {
@Autowired
private MongoTemplate mongoTemplate;//springboot 在底层自动封装了该对象 可以自动注入
@Test
void contextLoads() {
User user = new User();
user.setAge(20);
user.setName("zzy");
user.setEmail("3132820261@qq.com");
User insert = mongoTemplate.insert(user);
System.out.println(insert);
}
}
//结果 User(id=61109fcf1d7f4041e2f50758, name=zzy, age=20, email=3132820261@qq.com) id值 自动生成
springboot实现了对springdata的操作
与HibernateRepository类似,通过继承MongoRepository接口,我们可以非常方便地实现对一个对象的增删改查,要使
用Repository的功能,先继承MongoRepository<T, TD >接口,其中T为仓库保存的bean类,TD为该bean的唯一标识的类型,一般为ObjectId。之后在service中注入该接口就可以使用,无需实现里面的方法,spring会根据定义的规则自动生成。
- 创建interface 继承MongoRepository
public interface UserRepository extends MongoRepository<User,String> {
//添加格外的查询方法
}

浙公网安备 33010602011771号