springboot整合mongodb

整合 mongodb 其实与 整合 redis 相差不大

1、依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
        </dependency>

2、配置数据库信息

通过 spring.data.mongodb.xxx来配置连接信息

这里只配置了 ip、端口、数据库

spring.data.mongodb.host=192.168.10.102
spring.data.mongodb.port=27017
spring.data.mongodb.database=test

如果配置的数据库不存在,则创建

3、测试

1、创建实体类,且序列化

public class User implements Serializable {
    @Id // 标识为主键
    private Long id;
    @Field("uname") //指定在表中的列名
    private String userName;

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", userName='" + userName + '\'' +
                '}';
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }
}

在实体类中可通过

@Document("表名") //来指定表名,表名不存在则创建

2、注入操作

与 redis、jdbc差不多类似,需要注入

@Autowired
MongoTemplate mongoTemplate;

来操作数据库

3、操作数据库

  @Test
    void contextLoads() {
        //数据库中插入数据
        User user = new User();
        for (int i = 0; i < 10; i++) {
            user.setId((long) i);
            user.setUserName("小明" + i);
            mongoTemplate.save(user);
        }
    }

    @Test
    public void test(){
        //查询数据库的数据
        List<User> userList = mongoTemplate.findAll(User.class);
        for (User user : userList) {
            System.out.println("user = " + user);
        }
    }

    //删除数据
    @Test
    public void test2(){
        User user = new User();
        user.setId(2L);
        mongoTemplate.remove(user);
    }

上述操作与在 springboot 中使用 jdbc、redis 差不多类似,可以类推。

posted on 2023-06-16 11:38  xashould  阅读(65)  评论(0编辑  收藏  举报