SpringBoot-整合mongoDB

前言

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值