IT/Spring

MongoRepository & MongoTemplate

BronxBomber 2021. 8. 23. 23:45
728x90

Springboot와 MongoDB와의 연동 실습을 진행하면서 MongoRepository를 사용한 방법과 MongoTemplate를 사용한 방법 2가지가 존재하여 정리하는 시간을 가져보겠습니다.

 

-MongoRepository 예시

public interface MongoRepo extends MongoRepository<Pharmacy, Long> {
    public List<Pharmacy> findByName(String name);
}

MongoRepository를 사용하기 위해서는 위와 같이 Repository 인터페이스를 선언해주어야 합니다.

 

MongoRepository는 단순하게 말하자면 기본적인 CRUD작업을 제공하는데, 모든 필드를 포함하는 POJO와 함께 작동한다는 특징이 있습니다. 

(POJO): Planin Old Java Object

 

 

 

-MongoTemplate 예시

private final MongoTemplate mongoTemplate;


    public Pharmacy getEvent(String language){
        Pharmacy map = mongoTemplate.findById(language, Pharmacy.class);
        return Optional.ofNullable(map).orElseThrow(() ->new RestException(HttpStatus.NOT_FOUND, "Not found event"));
    }

MongoTemplate는 단일 작업에서 문서를 수정할 수 있는 기능들을 제공합니다. ex.)updateFirst, updateMulti....

이런 메소드에 사용되는 업데이트 개체를 관련 필드만 대상으로 지정하는 것이 특징입니다.  또한 기본적인 CRUD기능은 제공해 주지 않기 때문에 따로 구현을 필요로 하거나, MongoRepository와 함께 사용해야 한다는 점이 있습니다. 

 

 

'IT > Spring' 카테고리의 다른 글

[모각코] 모각코를 마무리하며...  (0) 2021.08.27
[모각코] 스프링 시큐리티와 OAuth 2.0  (0) 2021.08.16
[모각코] Spring JPA  (0) 2021.08.09
[모각코] Spring 외부접속  (0) 2021.07.19
[모각코] Spring 2일차  (0) 2021.07.16