个人学习系列 - Spring Boot 整合 MongoDB 实现数据增删改查

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

MongoDB安装

因为我是简单整合一下,所以是将MongoDB安装到windows中。

1. 官网下载安装包

2. 直接傻瓜式安装

2.1 选完整安装,自定义安装大佬随意。

图片.png

2.2 地址和安装方式选择

在这里插入图片描述

2.3 可视化工具选择

在这里插入图片描述

2.4 安装完毕

在这里插入图片描述在这里插入图片描述在这里插入图片描述

3. 上手写代码

3.1 先用Navicat连接上MongoDB

在这里插入图片描述

连接上发现什么都没有,不用管,直接撸代码。

3.2 新建Spring Boot项目

这里不赘述如果用IDEA新建项目了哈。

3.2.1 pom.xml文件
<!-- web服务 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

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

<!-- lombok依赖 -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>
3.2.2 application.yml文件
spring:
  data:
    mongodb:
      uri: mongodb://localhost:27017/test # mongodb连接地址
3.2.3 User.java实体类
@Data
public class User implements Serializable {

    /**
     * id主键
     */
    private Integer id;

    /**
     * 用户名
     */
    private String name;

    /**
     * 年龄
     */
    private Integer age;

}
3.2.4 UserRepository.java MongoDB操作类

Spring Data Mongodb提供一套快捷操作 mongodb的方法,创建Dao,继承MongoRepository,并指定实体类型和主键类型。

public interface UserRepository extends MongoRepository<User, Integer> {

    /**
     * 根据姓名进行查询
     * @param name
     * @return
     */
    User findByName(String name);

    /**
     * 根据姓名进行模糊查询
     * @param name
     * @return
     */
    List<User> findByNameLike(String name);

}
3.2.5 UserController.java 控制层
@RestController
public class UserController {

    @Resource
    UserRepository userRepository;

    /**
     * 新增
     * @param user
     * @return
     */
    @PostMapping("/user")
    public User saveUser(@RequestBody User user){
        return userRepository.save(user);
    }

    /**
     * 删除
     * @param id
     */
    @DeleteMapping("/user")
    public void saveUser(Integer id){
        userRepository.deleteById(id);
    }

    /**
     * 修改
     * @param user
     */
    @PutMapping("/user")
    public void updateUser(@RequestBody User user){
        userRepository.save(user);
    }

    /**
     * 根据名字精准匹配
     * @param name
     * @return
     */
    @GetMapping("/userByName")
    public User userByName(String name){
        return userRepository.findByName(name);
    }

    /**
     * 根据名字模糊查询
     * @param name
     * @return
     */
    @GetMapping("/userList")
    public List<User> userList(String name){
        return userRepository.findByNameLike(name);
    }

}
3.2.6 运行测试

用postman调用接口进行测试
新增:
在这里插入图片描述在这里插入图片描述

删除:
在这里插入图片描述在这里插入图片描述

修改:
我们先新增再修改
在这里插入图片描述在这里插入图片描述

查询:
现在数据库只有一条名为修改的数据,所以进行查询
在这里插入图片描述

查询名为修的数据发现没有
在这里插入图片描述

进行模糊查询
在这里插入图片描述

其他复杂的查询操作以后再研究哈!

个人博客地址:

http://www.zhouzhaodong.xyz

源代码地址:

https://github.com/zhouzhaodong/springboot/tree/master/mongodb

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值