实现步骤

1、pom

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-data-mongodb</artifactId>

        </dependency>

 

2、准备好可以连接上的mongo集群

 

 

3、配置路径(我这里没有账号密码)

spring:

  data:

    mongodb:

      # 集群配置mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

      uri: mongodb://192.168.204.81:27017,192.168.204.82:27017,192.168.204.83:27017/testdb?maxPoolSize=512

 

4、准备实体类

@Document(collection = "student")

public class Student {



    @Id

    private String id;



    private String name;

 

5、调用接口

public interface StudentRepository extends MongoRepository<Student,String> {

}

 

6、controller 测试

@RestController

public class MongoTestController {



    @Autowired

    StudentRepository studentRepository;



    @GetMapping("/addMongo")

    public String addMongo(){

        Student student = new Student();

        student.setId(String.valueOf(System.currentTimeMillis() / 10000));

        student.setName(student.getId() + "OKK");

        studentRepository.save(student);

        return student.getName();

    }

}

 

 

连接

语法  mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

 

连接本地默认数据库

# 默认连接,如果是默认端口27017可以不填写

mongodb://localhost

 

# 连接账号fred,密码foobar,ip localhost默认端口下的baz数据库

mongodb://fred:foobar@localhost/baz

 

连接多台服务器

# 连接三台服务器

mongodb://localhost,localhost:27018,localhost:27019

# 写入操作应用在主服务器 并且分布查询到从服务器

mongodb://host1,host2,host3/?slaveOk=true

# 直接连接第一个服务器,无论是replica set一部分或者主服务器或者从服务器。

mongodb://host1,host2,host3/?connect=direct;slaveOk=true

 

# 带账号密码连接集群 指定数据库test

mongodb://fred:foobar@host1,host2,host3/test?slaveOk=true

 

 springboot2.2.1(含)以上的版本Sort已经不能再实例化了。用by实例化

 

        Query query = new Query();

        Sort sort = Sort.by(Sort.Direction.DESC,"id");

        query.with(sort);

        query.skip(1);

        List<ServerInfo> serverInfo = mongoTemplate.find(query, ServerInfo.class);

 

mongodb事务文章(别人的)

https://www.cnblogs.com/DevMuYuer/p/11141903.html

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐