美文网首页
SpringBoot 整合mongoDB

SpringBoot 整合mongoDB

作者: 月弦 | 来源:发表于2019-11-25 09:52 被阅读0次

前言

MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:

  • MongoDB是一个独立的服务器。
  • 它是基于文档的,而不是基于表格的。
  • 它是非结构化的。
  • 它具有强大的主流开发语言支持,如C#、C++、Java、PHP、Perl、Python、Ruby。
  • 可扩展性。
  • 使用高效的二进制数据存储,包括大型对象(如视频等)。
  • 支持完全索引,包含内部对象。
  • 面向集合存储,易存储对象类型的数据。

一、mongoDB 安装

具体安装过程可参考MongoDB安装

二、pom.xml文件

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

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

三、配置文件

这里配置mongoDB的地址和数据库信息。

spring:
  data:
    mongodb:
      host: 127.0.0.1
      port: 27017
      database: test

四、实体类

public class User {
    private long id;
    private String username;
    private String password;

    public User(long id, String username, String password) {
        this.id = id;
        this.username = username;
        this.password = password;
    }

    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;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

五、数据操作层

接口继承MongoRepository

public interface UserRepository extends MongoRepository<User, Long> {
}

六、controller类

@RestController
public class UserController {

    @Autowired
    private UserRepository userRepository;

    @GetMapping("save")
    public String save() {
        User user = new User(System.currentTimeMillis(), "用户" + System.currentTimeMillis(), "123");
        userRepository.save(user);
        return "success";
    }


    @GetMapping("getUserList")
    public List<User> getUserList() {
        List<User> userList = userRepository.findAll();
        return userList;
    }

    @GetMapping("delete")
    public String delete(Long id) {
        userRepository.deleteById(id);
        return "success";
    }

    @GetMapping("update")
    public String update(Long id, String username, String password) {
        User user = new User(id, username, password);
        userRepository.save(user);
        return "success";
    }
}

七、测试

  • 访问save方法,并查看数据。
    use test:使用test数据库。
    db.user.find(): 查看user文档。


    image.png

相关文章

网友评论

      本文标题:SpringBoot 整合mongoDB

      本文链接:https://www.haomeiwen.com/subject/zqdqwctx.html