찾다
Javajava지도 시간SpringBoot가 Mongodb를 통합하여 추가, 삭제 및 변경을 구현하는 방법

1. MongoDB란

MongoDB는 우리가 익숙한 관계형 데이터베이스(MySQL, Oracle)와 다릅니다. MongoDB는 필요한 확장성과 유연성은 물론 필수 쿼리와 인덱스도 갖춘 문서 데이터베이스입니다.

MongoDB는 JSON과 유사한 유연한 문서에 데이터를 저장합니다. 즉, 문서의 필드는 문서마다 다를 수 있고 데이터 구조는 시간이 지남에 따라 변경될 수 있습니다. 문서 모델은 애플리케이션 코드의 개체에 매핑되므로 데이터 작업이 쉬워집니다. MongoDB는 핵심이 분산된 데이터베이스이므로 고가용성, 확장 및 지리적 분산이 내장되어 있으며 사용하기 쉽습니다. 게다가 MongoDB는 무료이며 오픈 소스입니다.

2. Windows에 설치 설치 10 mongodb 공식 웹 사이트를 열고 MSI 버전을 다운로드 (설치 버전)

SpringBoot가 Mongodb를 통합하여 추가, 삭제 및 변경을 구현하는 방법 다운로드하면 사용자 정의를 선택하면 조심해야합니다. 확인하지 마세요. 시각화 플러그인을 설치하세요. 그렇지 않으면 설치 속도가 매우 느려집니다(인터넷 속도가 충분히 빠르지 않은 경우)

SpringBoot가 Mongodb를 통합하여 추가, 삭제 및 변경을 구현하는 방법

3. MongoDB 서비스 구성

환경 변수 구성

SpringBoot가 Mongodb를 통합하여 추가, 삭제 및 변경을 구현하는 방법현재 경로 복사

내 컴퓨터 -> 마우스 오른쪽 버튼 클릭 ->고급 시스템 설정->환경 변수->시스템 변수

SpringBoot가 Mongodb를 통합하여 추가, 삭제 및 변경을 구현하는 방법시스템 변수에서 경로를 찾아 위에서 복사한 경로를 편집하고 추가하세요

4. 서비스 시작

win+R-> services.msc

SpringBoot가 Mongodb를 통합하여 추가, 삭제 및 변경을 구현하는 방법

서비스 시작 후 브라우저에 SpringBoot가 Mongodb를 통합하여 추가, 삭제 및 변경을 구현하는 방법127.0.0.1:2701

을 입력합니다. 영어라는 줄이 나타나면 서비스가 성공적으로 시작되었음을 의미합니다. SpringBoot가 Mongodb를 통합하여 추가, 삭제 및 변경을 구현하는 방법

5. SpringBoot는 MongoDB를 통합

SpringBoot가 Mongodb를 통합하여 추가, 삭제 및 변경을 구현하는 방법

환경 준비

운영 체제: Window10

IDE: IntelliJ IDEA 2018.2.4SpringBoot가 Mongodb를 통합하여 추가, 삭제 및 변경을 구현하는 방법

데이터베이스: MongoDB

1) 종속성 소개

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

2) 추가 응용 프로그램에서 다음을 수행합니다. yml 구성

spring:
  data:
    mongodb:
      uri: mongodb://localhost/test_mongodb
전체 구성 정보는 다음과 같습니다.
spring:
  data:
    mongodb:
      authentication-database: # Authentication database name.
      database: # Database name.
      field-naming-strategy: # Fully qualified name of the FieldNamingStrategy to use.
      grid-fs-database: # GridFS database name.
      host: # Mongo server host. Cannot be set with URI.
      password: # Login password of the mongo server. Cannot be set with URI.
      port: # Mongo server port. Cannot be set with URI.
      repositories:
        type: # Type of Mongo repositories to enable.
      uri: # Mongo database URI. Cannot be set with host, port and credentials.
      username: # Login user of the mongo server. Cannot be set with URI.

3) 엔터티 클래스 UserEntity를 추가합니다

public class UserEntity {
    @Id
    private String uid;
    private String username;
    private String password;
    public String getUid() {
        return uid;
    }
    public void setUid(String uid) {
        this.uid = uid;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    @Override
    public String toString() {
        return "UserEntity{" +
                "uid=&#39;" + uid + &#39;\&#39;&#39; +
                ", username=&#39;" + username + &#39;\&#39;&#39; +
                ", password=&#39;" + password + &#39;\&#39;&#39; +
                &#39;}&#39;;
    }
}

4) 새 테스트를 만듭니다. 여기서는 MongoDB를 보기 위한 시각화 도구로 navicat을 사용합니다.

테스트 1: 삽입 작업

    @Autowired
    private MongoTemplate mongoTemplate;
    @Test
    public void saveUser(){
        UserEntity userEntity1 = new UserEntity();
        UserEntity userEntity2 = new UserEntity();
        UserEntity userEntity3 = new UserEntity();
        userEntity1.setUid("111");
        userEntity1.setUsername("用户1");
        userEntity1.setPassword("密码1");
        userEntity2.setUid("222");
        userEntity2.setUsername("用户2");
        userEntity2.setPassword("密码2");
        userEntity3.setUid("333");
        userEntity3.setUsername("用户3");
        userEntity3.setPassword("密码3");
        mongoTemplate.save(userEntity1);
        mongoTemplate.save(userEntity2);
        mongoTemplate.save(userEntity3);
    }

데이터베이스 정보:

MongoDB가 자동으로 데이터베이스를 생성하고 엔터티 클래스(종종 데이터 테이블이라고 부르는 것)를 통해 컬렉션을 생성한 것을 볼 수 있습니다. MongoTemplate을 전달했습니다. 데이터베이스의 userEntity 컬렉션에 여러 문서(즉, 여러 레코드 삽입)를 삽입합니다. 그리고

_id

는 기본 키이고,

_class

는 엔터티 클래스 패키지 이름 + 클래스 이름

테스트 2: 쿼리 작업

    @Autowired
    private MongoTemplate mongoTemplate;
	@Test
    public void findUserByUserName(){
        String username = "用户1";
        Query query=new Query(Criteria.where("username").is(username));
        UserEntity user =  mongoTemplate.findOne(query , UserEntity.class);
        System.out.println(user);
    }

출력 결과:

SpringBoot가 Mongodb를 통합하여 추가, 삭제 및 변경을 구현하는 방법UserEntity{uid='111', 사용자 이름='User 1 ', 비밀번호='password1'}

테스트 3: 업데이트 작업

  @Autowired
    private MongoTemplate mongoTemplate;    
	@Test
    public void updateUser(){
        UserEntity userEntity = new UserEntity();
        userEntity.setUid("111");
        userEntity.setUsername("更新后的用户名");
        userEntity.setPassword("更新后的密码");
        Query query = new Query(Criteria.where("_id").is(userEntity.getUid()));
        Update update = Update.update("username",userEntity.getUsername()).set("password",userEntity.getPassword());
        //更新返回结果集的第一条
        mongoTemplate.updateFirst(query,update,UserEntity.class);
        //更新返回结果集的所有
        //mongoTemplate.updateMulti(query,update,UserEntity.class);
    }
업데이트된 데이터베이스는 그림과 같습니다.

테스트 4: 삭제 작업

    @Autowired
    private MongoTemplate mongoTemplate; 
	@Test
    public  void DeleteByUserId(){
        String id = "222";
        Query query=new Query(Criteria.where("_id").is(id));
        mongoTemplate.remove(query,UserEntity.class);
    }
삭제 후 데이터베이스는 다음과 같습니다. 사진:

위 내용은 SpringBoot가 Mongodb를 통합하여 추가, 삭제 및 변경을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 亿速云에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
mongodb php 扩展没有怎么办mongodb php 扩展没有怎么办Nov 06, 2022 am 09:10 AM

mongodb php扩展没有的解决办法:1、在linux中执行“$ sudo pecl install mongo”命令来安装MongoDB的PHP扩展驱动;2、在window中,下载php mongodb驱动二进制包,然后在“php.ini”文件中配置“extension=php_mongo.dll”即可。

Redis和MongoDB的区别与使用场景Redis和MongoDB的区别与使用场景May 11, 2023 am 08:22 AM

Redis和MongoDB都是流行的开源NoSQL数据库,但它们的设计理念和使用场景有所不同。本文将重点介绍Redis和MongoDB的区别和使用场景。Redis和MongoDB简介Redis是一个高性能的数据存储系统,常被用作缓存和消息中间件。Redis以内存为主要存储介质,但它也支持将数据持久化到磁盘上。Redis是一款键值数据库,它支持多种数据结构(例

Go语言中使用MongoDB:完整指南Go语言中使用MongoDB:完整指南Jun 17, 2023 pm 06:14 PM

MongoDB是一种高性能、开源、文档型的NoSQL数据库,被广泛应用于Web应用、大数据以及云计算领域。而Go语言则是一种快速、开发效率高、代码可维护性强的编程语言。本文将为您完整介绍如何在Go语言中使用MongoDB。一、安装MongoDB在使用MongoDB之前,需要先在您的系统中安装MongoDB。在Linux系统下,可以通过如下命令安装:sudo

php7.0怎么安装mongo扩展php7.0怎么安装mongo扩展Nov 21, 2022 am 10:25 AM

php7.0安装mongo扩展的方法:1、创建mongodb用户组和用户;2、下载mongodb源码包,并将源码包放到“/usr/local/src/”目录下;3、进入“src/”目录;4、解压源码包;5、创建mongodb文件目录;6、将文件复制到“mongodb/”目录;7、创建mongodb配置文件并修改配置即可。

php怎么使用mongodb进行增删查改操作php怎么使用mongodb进行增删查改操作Mar 28, 2023 pm 03:00 PM

MongoDB作为一款流行的NoSQL数据库,已经被广泛应用于各种大型Web应用和企业级应用中。而PHP语言也作为一种流行的Web编程语言,与MongoDB的结合也变得越来越重要。在本文中,我们将会学习如何使用PHP语言操作MongoDB数据库进行增删查改的操作。

SpringBoot中logback日志怎么保存到mongoDBSpringBoot中logback日志怎么保存到mongoDBMay 18, 2023 pm 07:01 PM

自定义Appender非常简单,继承一下AppenderBase类即可。可以看到有个AppenderBase,有个UnsynchronizedAppenderBase,还有个AsyncAppenderBase继承了UnsynchronizedAppenderBase。从名字就能看出来区别,异步的、普通的、不加锁的。我们定义一个MongoDBAppender继承UnsynchronizedAppenderBasepublicclassMongoDBAppenderextendsUnsynchron

Swoole与MongoDB的整合:构建高性能的文档数据库系统Swoole与MongoDB的整合:构建高性能的文档数据库系统Jun 14, 2023 am 11:51 AM

在现代企业应用程序开发中,需要处理海量数据和高并发的访问请求。为了满足这些需求,开发人员需要使用高性能的数据库系统,以确保系统的稳定性和可扩展性。本文将介绍如何使用Swoole和MongoDB构建高性能的文档数据库系统。Swoole是一个基于PHP语言开发的异步网络通信框架,它能够大大提高PHP应用程序的性能和并发能力。MongoDB是一种流行的文档数据库,

Python服务器编程:MongoDB数据库使用攻略Python服务器编程:MongoDB数据库使用攻略Jun 18, 2023 am 10:25 AM

Python服务器编程:MongoDB数据库使用攻略MongoDB是一种NoSQL数据库,相比传统的关系型数据库,在某些场景下具有明显的优势。本文将介绍如何在Python服务器端使用MongoDB数据库,包括安装、连接、基本操作和查询优化等方面。一、安装MongoDB数据库MongoDB官网提供了各种操作系统下的安装包,这里我们选择在Ubuntu上安装。打开

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.