spring连接mongodb

环境:

操作系统:Win10

Idea:2020

导入pom.xml依赖

dependencys里添加这些依赖,lombok后面可能用到。

    <!--mongo依赖-->
	<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-mongodb</artifactId>
    </dependency>
    <!--log4j依赖-->
    <!--<dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>-->

如果启动最后启动失败,可以尝试在build里添加依赖,不知道原理为何,反正添加了就没事了,而如果不使用log4j,我实测也有问题,在新项目里没问题,在原有的微服务项目中添加就有问题。

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <!--lombok构建的依赖-->
            <configuration>
                <excludes>
                    <exclude>
                        <groupId>org.projectlombok</groupId>
                        <artifactId>lombok</artifactId>
                    </exclude>
                </excludes>
            </configuration>
        </plugin>
    </plugins>
</build>

文档的映射类

如果没添加lombok依赖的话,记得创建getter、setter、toString和无参构造和有参构造

package cn.hsl.mongodbdao.pojo;


import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.mongodb.core.mapping.Document;

@Document("retailer")
//生成get、set、toString
@Data
//生成无参构造
@NoArgsConstructor
//生成有参构造
@AllArgsConstructor
public class MongoDBDocument {
    private int id;
    private String name;
    private String age;
}

接口类

package cn.hsl.mongodbdao.dao;

import cn.hsl.mongodbdao.pojo.MongoDBDocument;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface MongoDAO extends MongoRepository<MongoDBDocument,Integer> {
}

测试

package cn.hsl.mongodbdao;

import cn.hsl.mongodbdao.dao.MongoDAO;
import cn.hsl.mongodbdao.pojo.MongoDBDocument;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.Optional;

@SpringBootTest
class MongodbdaoApplicationTests {
    static final int documentId = 1908030655;
    @Autowired
    private MongoDAO mongoDAO;
    @Test
    void contextLoads() {

    }
    //添加
    @Test
    void createDocument(){
        MongoDBDocument mongoDBDocument = new MongoDBDocument(documentId,"何顺龙","21");
        mongoDAO.save(mongoDBDocument);
    }
    //删除
    @Test
    void deleteDocument(){
        mongoDAO.deleteById(documentId);
    }
    //修改
    @Test
    void updateDocument(){
        //其实mongoDB不是仅能修改值,不能再添加键之类的了。
        MongoDBDocument mongoDBDocument = new MongoDBDocument(documentId,"何顺龙2","212");
        mongoDAO.save(mongoDBDocument);
    }
    //查询
    @Test
    void searchDocument(){
        Optional<MongoDBDocument> byId = mongoDAO.findById(documentId);
        System.out.println(byId);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值