springboot连接mongodb进行CRUD

springboot连接mongodb进行CRUD的过程:

在执行以下操作前已安装了mongodb并创建了用户和数据库,使用Robo 3T可成功连接。

1.创建springboot项目,加入以下maven依赖

        <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>    

2.在application.properties中加入mongo连接配置

spring.data.mongodb.host=127.0.0.1
spring.data.mongodb.port=27017
spring.data.mongodb.username=admin
spring.data.mongodb.password=password
spring.data.mongodb.database=DBTest
spring.data.mongodb.authentication-database=admin

3.创建实体类

package com.example.mongodb.entity;

import org.springframework.data.mongodb.core.mapping.Document;

// @Document的collection属性设置的是在mongo库中的集合名称
@Document(collection = "passenger")
public class Passenger {

    private String name;
    private String password;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

4.创建controller

package com.example.mongodb.controller;

import com.example.mongodb.entity.Driver;
import com.example.mongodb.entity.Passenger;
import com.mongodb.client.result.DeleteResult;
import com.mongodb.client.result.UpdateResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
public class TestContoller {

    @Autowired
    MongoTemplate mongoTemplate;

    @RequestMapping("/insert")
    public String insert() {
        Passenger passenger = new Passenger();
        passenger.setName("hello");
        passenger.setPassword("world1");
        passenger = mongoTemplate.insert(passenger);
        if (passenger != null) {
            return "success";
        } else {
            return "false";
        }
    }

    @RequestMapping("/query")
    public String query() {
        Query query = Query.query(Criteria.where("name").is("hello").and("password").is("world1"));
        List<Passenger> passengers = mongoTemplate.find(query, Passenger.class);
        return passengers.size() + "";
    }

    @RequestMapping("/update")
    public String update() {
        Query query = Query.query(Criteria.where("password").is("world1"));
        Update update = new Update();
        update.set("name", "world2");
        update.set("password", "world2");
        UpdateResult updateResult = mongoTemplate.updateFirst(query, update, Passenger.class);
        return "success";
    }

    @RequestMapping("/remove")
    public String remove() {
        Query query = Query.query(Criteria.where("password").is("world1"));
        DeleteResult remove = mongoTemplate.remove(query, Passenger.class);
        return "success";
    }
}

发送CRUD请求后在mongo库中生成了对应的集合

原文地址:https://www.cnblogs.com/new-life/p/11111792.html

时间: 2024-10-09 21:04:51

springboot连接mongodb进行CRUD的相关文章

MongoDB对图片进行CRUD操作——与JAVA结合

上几篇博客简单对MongoDB进行了简单介绍和如何安装,以及在dos下是如何操作MongoDB和在安装MongoDB中,出现了什么错误,是如何解决的.当然这些都还不够,我们还要用到实际当中去.我用MyEclipse+JDK1.7做了一个简单的demo,来展示下MongoDB怎么运用到实际中去. MongoDB作为一个NoSql数据库的代表,存取多媒体数据,应该是强项吧?那么,在MongoDB中是如何对图片进行CRUD操作的. 上几篇博客中已经提到,MongoDB的文档结构是BSON格式,BSON

Springboot整合mongodb时无法连接数据库

由于之前没有接触过mongodb,最近在学习时遇到了一些问题.用yml配置mongodb如下: 1 spring: 2 application: 3 name:xc-service-manage-cms 4 data: 5 mongodb: 6 uri: mongodb://xuecheng:[email protected]:27017/xc_cms mongodb在安装完成后是无需验证登录的,在开启用户验证登录后,需要输入用户名密码和库名才能登录.用测试类测试findAll方法时一直显示ti

远程连接mongodb时,27017端口连接不上的解决办法

一.背景描述: 我在linux  RED7上安装了mongodb,并没有修改mongodb的配置文件.然后通过另外一台电脑用pymongo连接mongodb时,报错:timeout. ping IP 是成功的. telnet IP 27017 的时候,提示:27017端口连接不上. 二.解决过程: 各种百度,远程连接mongodb失败,网上资料显示原因有两个: 1.mongodb的配置文件中的bind_ip 默认为127.0.0.1,默认只有本机可以连接.  此时,需要将bind_ip配置为0.

Ruby操作MongoDB(进阶)-CRUD操作

MongDB数据库的使用离不开CRUD操作.什么是CRUD,就是创建文档,读取文档信息,更新文档和删除文档. key-value键值对标记 在MongoDB的Ruby驱动中,Key_value键值多次出现.而且有时会出现语法上的巧合,这取决于在使用的Ruby版本中如何申明. 在文档创建步骤中,1.9及之后版本支持以下语法: document={name:"Tom",age:20}. 但是如果你使用的是2.2或者更高的版本,你可以用双引号将你的key包起来.如: document={&q

python连接mongodb并操作

安装python连接mongodb的库文件pymongo pip install pymongo python连接mongodb程序 import pymongo conn = pymongo.MongoClient("ip",端口) db = conn.admin #连接库 db.authenticate("账号","密码") #用户认证 db=conn.jwh db.test.insert({'id':1,'name':'kaka','sex

nodejs:注册登录session出错以及连接Mongodb数据库时Error connecting to database解决方案

(1)nodejs:注册登录session出错 解决办法: 在app.js 中将var MongoStore =  require(connect-mongo')改为var MongoStore =  require(connect-mongo')(express) 即可: (2)连接Mongodb数据库时Error connecting to database解决方案 这种情况下是自己的mongodb数据库没有装好 解决办法: a.在官网上下载安装数据库 b.在mongodb文件夹里面新建文件

使用mongo-java-driver-3.0.2连接MongoDB数据库

这里使用的mongodb的java驱动版本是:3.0.2,文件名mongo-java-driver-3.0.2.jar下载网址(也可以下载其它版本):http://central.maven.org/maven2/org/mongodb/mongo-java-driver/ 也可以查看相关的mongodb的api:http://api.mongodb.com/java/current/index.html package utils; import java.net.UnknownHostExc

java连接mongodb源码解读

用mongdb也大半年了,一直是业务上的逻辑实现了就ok.然而这样并不能进步--因此今天查了查java连接mongodb驱动的源码,搜到的各种信息整合一下,方便以后深入的使用. 先贴连接数据库代码  List<ServerAddress> replicaSet = new          ArrayList<ServerAddress>();          replicaSet.add(new ServerAddress("127.0.0.1", 2701

node连接mongoDB篇

一般介绍: 由于mongodb数据库在javascript脚本环境中支持bson对象(json对象的二进制形式)的存取,因此对于数据的存取的效率是非常高的.在mongodb数据库中,将每一条等待插入的数据记录存储在内存中,因此,该数据库是一种非阻塞型数据库,在需要记录大量日志数据,实时测量数据或实时统计数据时,该数据库可以达到令人满意的效果.用于mongodb数据库支持在查询语句内使用javascript函数,也大大加强了它读取数据的能力.另外,mongodb数据库是一个面向文档的数据库,它允许