티스토리 뷰

728x90
반응형

 

 

1. pom.xml dependencies에 몽고DB를 추가해줍니다.

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

 

 

2. application.properties에 몽고DB 접속정보를 작성합니다.

spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
spring.data.mongodb.authentication-database=admin
spring.data.mongodb.database=database
spring.data.mongodb.username=name
spring.data.mongodb.password=password

 

 

3. 몽고DB 연동

config.java파일을 하나 만들어서, 몽고DB를 임포트합니다.

 

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.MongoDatabaseFactory;
import org.springframework.data.mongodb.core.convert.DbRefResolver;
import org.springframework.data.mongodb.core.convert.DefaultDbRefResolver;
import org.springframework.data.mongodb.core.convert.DefaultMongoTypeMapper;
import org.springframework.data.mongodb.core.convert.MappingMongoConverter;
import org.springframework.data.mongodb.core.mapping.MongoMappingContext;

@Configuration
public class WebConfig {

    @Bean
    public MappingMongoConverter mappingMongoConverter(
            MongoDatabaseFactory mongoDatabaseFactory,
            MongoMappingContext mongoMappingContext
    ) {
        DbRefResolver dbRefResolver = new DefaultDbRefResolver(mongoDatabaseFactory);
        MappingMongoConverter converter = new MappingMongoConverter(dbRefResolver, mongoMappingContext);
        converter.setTypeMapper(new DefaultMongoTypeMapper(null));
        return converter;
    }
}

 

임포트 에러가 난다면 install과 update를 진행해준 후 임포트 해주면 됩니다.

Run As > Maven install

Maven > Update Project...

 

 

spring boot를 run했을 때 아래와 같이 mongodb쪽에 Opened connection이 나오면 정상적으로 연동된 것입니다.

 

 

 

4. 데이터 호출하기

mongoTemplate를 사용하여 데이터를 호출합니다.

mongoTemplate는 도큐먼트 클래스를 무조건 만들어준 후에 find로 받아올 수 있습니다.

아래 블로그를 참고!

https://gofnrk.tistory.com/38

 

Spring Boot MongoDB 연동

스프링 부트에서 몽고DB를 연동하는 방법에 대해서 알아보려고 해요. 연동은 생각보다 굉장히 쉬워요. 스프링에서 JPA를 사용해보신 분들은 API 사용에 있어서 만큼은 따로 공부할 것도 거의 없을

gofnrk.tistory.com

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;

public class mongoDBfind {

    @Autowired
    MongoTemplate mongoTemplate;
    
    public void find() {
    	List<Map> data = mongoTemplate.find(Query.query(Criteria.where("과일").is("사과")), entity.class);
    }
}

 

 

끝!

728x90
반응형
댓글