springboot 整合mongodb
2020-04-01 本文已影响0人
Equals__
前言
由于新加入的公司涉及到mongodb,在此前从未使用过mongodb,所以自己先写一个小小的demo记录springboot 整合mongodb.搭建完最基本的springboot项目后,主要分为三步: 1.引入maven 依赖 2. yml 配置 mongodb 信息 3. 具体的controller层操作mongoTemplate.
1.引入maven 依赖
springboot 版本是2.1.2, 引入的spring-boot-starter-data-mongodb 版本为 2.1.7.RELEASE.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
<version>2.1.7.RELEASE</version>
</dependency>
2. yml 配置
由于mongodb 默认不需要认证登录,所以直接连接即可:
spring:
data:
mongodb:
uri: mongodb://localhost:27017/mongodb_test
若是MongoDB中存在该数据库,则连接,若不存在,则会自动创建.
若是需要用户名密码则配置对应账户信息
spring:
data:
mongodb:
uri: mongodb://localhost:27017/springboot_mongodb
username: root
password: 123456
出现以下情况则连接成功
image.png
3. 增删改查操作
具体的user 实体类
@Data
public class User {
private int id;
private String name;
private String sex;
}
3.1 新增操作
@GetMapping("/insert")
public void MongoInsert(){
User user = new User();
user.setId(1);
user.setName("hzp");
user.setSex("男");
mongoTemplate.insert(user);
user.setId(2);
user.setName("hzp2");
user.setSex("男");
mongoTemplate.insert(user);
log.info("插入成功!");
}
3.2 删除操作
@PostMapping("/delete")
public void MongoDBDelete(){
User user = new User();
user.setId(1);
mongoTemplate.remove(user);
log.info("删除成功");
List<User> users=mongoTemplate.findAll(User.class);
users.forEach(u -> {
log.info(u.toString());
});
}
3.3 更新操作
@PostMapping("/update")
public void MongoDBUpdate(){
mongoTemplate.updateFirst(query(where("id").is("1")), Update.update("name","hzp1"),User.class);
log.info("更新成功");
}
3.4 查找操作
@GetMapping("/select")
public void MongoDBSelect(){
List<User> users=mongoTemplate.findAll(User.class);
users.forEach(u -> {
log.info(u.toString());
});
}