Spring Boot集成MongoDB 实现增删改查

关于MongoDB

MongoDB是一个开源、高性能、面向文档的NoSQL数据库,它将数据保存在一个JSON-类似的格式称为BSON(Binary JSON)中。MongoDB在大数据量、高并发、高性能等领域表现突出,成为了现代应用开发中非常流行的数据库。

MongoDB的安装

访问MongoDB的官网(https://www.mongodb.com/try/download/community)下载对应操作系统的二进制文件。

Spring Boot集成MongoDB

在Spring Boot应用程序中集成MongoDB时,需要添加MongoDB客户端依赖项。以下是基本的集成步骤:

  1. 添加MongoDB客户端依赖项:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
  1. 在application.yml中添加MongoDB客户端配置:
spring:
  data:
    mongodb:
      uri: mongodb://localhost:27017/test
      database: test

在这里,test是指数据库的名称,而mongodb://localhost:27017/是MongoDB服务器的地址和端口号。

  1. 在代码中使用MongoDB客户端进行数据存取:
@Repository
public interface UserRepository extends MongoRepository<User, String> {}

在以上代码中,我们使用了Spring Data MongoDB,它是Spring的一个数据访问层项目,提供了对MongoDB的CRUD操作支持。在这里,我们创建了一个UserRepository接口,它继承了MongoRepository<T, ID>接口,其中T为实体类,ID为实体类的主键类型。这个接口会自动实现CRUD方法,我们只需要调用它们即可。

  1. 进行数据操作:
@RestController
@RequestMapping("/users")
public class UsersController {
    @Autowired
    private UserRepository userRepository;

    @GetMapping
    public List<User> getUsers() {
        return userRepository.findAll();
    }

    @GetMapping("/{id}")
    public Optional<User> getUserById(@PathVariable("id") String id) {
        return userRepository.findById(id);
    }

    @PostMapping
    public User addUser(@RequestBody User user) {
        return userRepository.save(user);
    }

    @PutMapping("/{id}")
    public User updateUser(@PathVariable("id") String id, @RequestBody User user) {
        user.setId(id);
        return userRepository.save(user);
    }

    @DeleteMapping("/{id}")
    public void deleteUserById(@PathVariable("id") String id) {
        userRepository.deleteById(id);
    }
}

在以上代码中,我们创建了一个UsersController控制器类,它使用了我们之前创建的UserRepository接口进行数据操作。我们在控制器中编写了HTTP请求方法,包括GET、POST、PUT和DELETE方法,并进行了数据的读取、添加、更新和删除等操作。

总结

MongoDB是一个非常流行的NoSQL数据库,它在大数据量、高并发和高性能方面表现出色。如果您需要在自己的应用程序中使用MongoDB进行数据存储,可以使用Spring Boot集成MongoDB。

关注微信公众号:“小虎哥的技术博客”。我们会定期发布关于Java技术的详尽文章,让您能够深入了解该领域的各种技巧和方法,让我们一起成为更优秀的程序员👩‍💻👨‍💻!

相关文章源码放在:gitee仓库github仓库上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小虎哥的技术博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值