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());
        });
    }
上一篇下一篇

猜你喜欢

热点阅读