springboot项目中简单使用MongoDB

发布于:2022-12-07 ⋅ 阅读:(338) ⋅ 点赞:(0)

一、所需要的工具

1、mongodb数据库

2、idea

3、jdk 1.8

二、使用步骤

1.引入依赖

代码如下(示例):

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>

2、创建实体类

本实例中是使用了lombok插件,所以不用手写set,get方法。

代码如下(示例):


@Data
public class User {

    @Id
    private String id;
    private String username;
    private String password;
    private String address;
    private String[] tags;
}

@Data
@ApiModel("删除")
public class DeleteUserParam {

    private String id;

}

@Data
@ApiModel("查找")
public class FindUserParam {

    private String id;

}

3.在controller层中创建MongoController类

代码如下(示例):

import com.ddq.springboot_mongodb.entity.User;
import com.ddq.springboot_mongodb.param.DeleteUserParam;
import com.ddq.springboot_mongodb.param.FindUserParam;
import com.ddq.springboot_mongodb.service.Mongoservice;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Optional;

/**
 * @author :Dongdequan
 * @date :Created in 2022/4/1 14:22
 * @modified By:
 */
@RestController
@RequestMapping("/mongodb")
public class MongoController {

    @Autowired
    private Mongoservice mongoService;

    @PostMapping("/hello")
    public String test() {
        return "hello!";
    }

    @PostMapping("/findUser")
    public Optional<User> findUser(@RequestBody FindUserParam param) {
        return mongoService.findUser(param);
    }

    @PostMapping("/findAll")
    public List<User> findAll() {
        return mongoService.findAll();
    }

    @PostMapping("/updateUser")
    public String updateUser(@RequestBody User param) {
        return mongoService.updateUser(param);
    }

    @PostMapping("/insertUser")
    public String insertUser(@RequestBody User param) {
        return mongoService.insertUser(param);
    }

    @PostMapping("/delete")
    public String deleteUser(@RequestBody DeleteUserParam param) {
        return mongoService.deleteUser(param);
    }
}

4、创建业务层

public interface Mongoservice {

    Optional<User> findUser(FindUserParam param);

    List<User> findAll();

    String updateUser(User param);

    String insertUser(User param);

    String deleteUser(DeleteUserParam param);
}
@Service
public class MongoServiceImpl implements Mongoservice {

    @Autowired
    private MongoUserDao mongoDao;

    public Optional<User> findUser(FindUserParam param) {
        Optional<User> users = mongoDao.findById(param.getId());
        return users;
    }

    public List<User> findAll() {
        List<User> users = mongoDao.findAll();
        return users;
    }

    @Override
    public String updateUser(User param) {
        if (mongoDao.findById(param.getId()).isPresent()) {
            mongoDao.save(param);
            return "success";
        } else {
            return "fail";
        }
    }

    @Override
    public String insertUser(User param) {
        User user = mongoDao.insert(param);
        return user.getId();
    }

    @Override
    public String deleteUser(DeleteUserParam param) {
        mongoDao.deleteById(param.getId());
        return "success";
    }
}

5、创建数据持久层

@Repository
public interface MongoUserDao extends MongoRepository<User, String> {
}

到这里就基本实现mongodb的增删查改功能了。

最后就是本人写的代码,里面是引入了swagger.

项目代码:https://gitee.com/ddq168e/springboot_mongodb.git

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到