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

MongoDB安装

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

1. 官网下载安装包

进入下载页面后直接在右边就可以看到下载链接,选好自己要下载的版本平台点击下载即可。
图片.png

2. 直接傻瓜式安装

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

图片.png

2.2 地址和安装方式选择

图片.png

2.3 可视化工具选择

图片.png

2.4 安装完毕

图片.png
图片.png
图片.png

3. 上手写代码

3.1 先用Navicat连接上MongoDB

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

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调用接口进行测试
新增:
图片.png
图片.png
删除:
图片.png
图片.png
修改:
我们先新增再修改
图片.png
图片.png
查询:
现在数据库只有一条名为修改的数据,所以进行查询
图片.png
查询名为修的数据发现没有
图片.png
进行模糊查询
图片.png
其他复杂的查询操作以后再研究哈!

个人博客地址:

http://www.zhouzhaodong.xyz

源代码地址:

https://github.com/zhouzhaodo...


周兆东
107 声望21 粉丝

一个java小白的成长之路。。。