본문 바로가기

개발

[Spring] 스프링3.x에서 mongoDB연동하기



스프링에서 몽고DB를 사용하려고 삽질을 겁나했다...

일단 스프링을 본격적으로 사용한지가 얼마되지 않아서 많이 해맸는데, 해보고 나니 진짜 별거없다...



1. pom.xml 에 mongodb driver추가

<!-- mongodb java driver -->

<dependency>

    <groupId>org.mongodb</groupId>

    <artifactId>mongo-java-driver</artifactId>

    <version>2.7.1</version>

</dependency>

 

<dependency>

    <groupId>org.springframework.data</groupId>

    <artifactId>spring-data-mongodb</artifactId>

    <version>1.0.1.RELEASE</version>

</dependency>


2. config.xml 에 아래내용추가

   - 저같은 경우는 mybatis와 함께 사용중이기 때문에 mybatis_config.xml 에 함께 추가해서 사용중입니다. 각자에 맞게 잡으시면됩니다

<!-- Mongo DB Dev Set -->

<mongo:mongo id="mongo" host="몽고DB서버  IP" port="27017" />


<mongo:db-factory id="mongoDbFactory" mongo-ref="mongo" dbname="데이터베이스이름" username="아이디" password="비밀번호"/>

<bean id="mongoDbTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">

<constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />

</bean>


3. 쿼리날려보기( find )

Query query = Query.query(Criteria.where("검색할key").is(검색할단어));

  query.sort().on("_id", Order.DESCENDING);

  List<Object> ret = mongoTemplate.find(query, Object.class, "컴색할 컬렉션 이름");


위 쿼리를 몽고디비의 쿼리로 나타낼경우 아래와 같다

db.getCollection('컴색할 컬렉션 이름').find({검색할key:'검색할단어'})



끝, 겁나 간단하다