SpringBoot2에서 MongoDB 데이터베이스를 구성하는 방법
May 11, 2023 pm 06:28 PM1. NoSQL 소개
1. NoSQL 개념
NoSQL(Not Only SQL)은 "SQL뿐만 아니라"라는 뜻입니다. 기존 관계형 데이터베이스와 다른 데이터베이스 관리 시스템에 대한 일반적인 용어입니다. NoSQL은 매우 큰 규모의 데이터를 저장하는 데 사용됩니다. 이러한 유형의 데이터 저장소에는 고정된 스키마가 필요하지 않으며 중복 작업 없이 확장할 수 있습니다.
2. NoSQL의 장점/단점
--优点: 高可扩展性 分布式计算 低成本 架构的灵活性,半结构化数据 没有复杂的关系 --缺点: 没有标准化 有限的查询功能(到目前为止) 数据展现不直观
2. MongoDB 데이터베이스
1. MongoDB 소개
MongoDB는 비관계형 데이터베이스 중에서 가장 풍부한 기능을 가지고 있습니다. 관계형 데이터베이스와 가장 유사합니다. 지원하는 데이터 구조는 매우 느슨하고 json과 유사한 bjson 형식이므로 더 복잡한 데이터 유형을 저장할 수 있습니다. MongoDB의 가장 큰 특징은 지원하는 쿼리 언어가 매우 강력하다는 것입니다. 구문은 관계형 데이터베이스의 단일 테이블 쿼리와 유사한 대부분의 기능을 수행할 수 있으며 인덱싱도 지원합니다. 데이터.
2. MongoDB 기능
1) MongoDB는 C++ 언어로 작성되었으며 분산 파일 저장 기반의 오픈 소스 데이터베이스 시스템입니다.
2) 부하가 높은 조건에서는 노드를 추가하면 서버 성능을 보장할 수 있습니다.
3) MongoDB는 웹 애플리케이션을 위한 확장 가능한 고성능 데이터 스토리지 솔루션을 제공하는 것을 목표로 합니다.
4) MongoDB는 데이터를 문서로 저장하며, 데이터 구조는 키-값(키=>값) 쌍으로 구성됩니다. MongoDB 문서는 JSON 개체와 유사합니다. 필드 값에는 다른 문서, 배열, 문서 배열이 포함될 수 있습니다.
3. SpringBoot2
1. MongoDB 기본 환경
# 打开命令行 MongoDB4.0\bin>mongo # 展示所有数据库 > show databases # 新建一个admin数据库,命令比较难为情 > db.admin.insert({"name":"管理员数据库"}); # 使用admin数据库 > use admin # 创建root用户,具有读写权限 > db.createUser({user:"root",pwd:"root",roles:[{role:"readWrite",db:"admin"}]}) Successfully added user:
3. 구성 파일
사용자 이름: root
암호: root데이터베이스: admin
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>
4.
spring: data: mongodb: uri: mongodb://root:root@localhost:27017/admin
public interface ImgInfoRepository {
void saveImg(ImgInfo imgInfo) ;
ImgInfo findByImgTitle(String imgTitle);
long updateImgInfo(ImgInfo imgInfo) ;
void deleteById(Integer imgId);
}
로그인 후 복사
6. 테스트 코드 블록
public interface ImgInfoRepository { void saveImg(ImgInfo imgInfo) ; ImgInfo findByImgTitle(String imgTitle); long updateImgInfo(ImgInfo imgInfo) ; void deleteById(Integer imgId); }
import com.boot.mongodb.entity.ImgInfo; import com.boot.mongodb.repository.ImgInfoRepository; import com.mongodb.client.result.UpdateResult; 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.stereotype.Service; import javax.annotation.Resource; @Service public class ImgInfoRepositoryImpl implements ImgInfoRepository { @Resource private MongoTemplate mongoTemplate; @Override public void saveImg(ImgInfo imgInfo) { mongoTemplate.save(imgInfo) ; } @Override public ImgInfo findByImgTitle(String imgTitle) { Query query=new Query(Criteria.where("imgTitle").is(imgTitle)); return mongoTemplate.findOne(query,ImgInfo.class); } @Override public long updateImgInfo(ImgInfo imgInfo) { Query query = new Query(Criteria.where("imgId").is(imgInfo.getImgId())); Update update= new Update().set("imgTitle", imgInfo.getImgTitle()).set("imgUrl", imgInfo.getImgUrl()); UpdateResult result = mongoTemplate.updateFirst(query,update,ImgInfo.class); return result.getMatchedCount(); } @Override public void deleteById(Integer imgId) { Query query = new Query(Criteria.where("imgId").is(imgId)); mongoTemplate.remove(query,ImgInfo.class); } }
위 내용은 SpringBoot2에서 MongoDB 데이터베이스를 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제









