달력

3

« 2019/3 »

  •  
  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  
  •  
  •  
2010.08.16 18:07

Sprnig에서 Morphia Junit Test하기 MongoDB2010.08.16 18:07


1) applicationContext.xml 설정하기

  <bean id="mongo" class="com.mongodb.Mongo">
   <constructor-arg value="127.0.0.1"/>
   <constructor-arg value="27017"/>
  </bean>
 
  <bean id="db" class="com.sws.spring.config.DbFactoryBean">
   <property name="mongo" ref="mongo"/>
   <property name="name" value="test"/>
  </bean>
   
  <bean id="morphia" class="com.google.code.morphia.Morphia"/>


2) Junit Test 코드 작성하기
  @Autowired DB db;
 @Autowired Mongo mongo;
 @Autowired Morphia morphia;

...(생략)...

 @Test
 public void save(){
  // collection 가져오기
  DBCollection dBCollection = db.getCollection("account"); 
  // 저장할 객체선언후
  Account account = new Account("yunsunghan","yunsunghan@gmail.com1");
  // 객체를 MongoDB로 저장할수 있게, DBObject객체로 변환
  DBObject accountObj1 = morphia.toDBObject(account);
  // collection에 저장
  dBCollection.save(accountObj1);
  // 저장된 객체를 찾아서,
  DBObject accountObj2 = dBCollection.findOne(accountObj1);
  // 저장전 객체로 변환하고,
  Account account2 = morphia.fromDBObject(Account.class, accountObj2);
  // 각각의 객체와 비교 후, 같으면 통과
  Assert.assertEquals(accountObj1.get("name"), accountObj2.get("name"));
  Assert.assertEquals(account.getEmail(), account2.getEmail());
 }

물론 다른 방법도 존재한다. morphia.createDatastore(String dbName) 같은 메서드는, DB설정 정보가 기본값으로 저장되어 있어서, 따로 설정하지 않아도, DB에 저장을 간편하게 시킬수 있다.

Account 객체는 Morphia의 어노테이션을 써서 매핑했는데, 소스는 아래와 같고 더 많은 기능이 있는데, 여길 참고하자.

@Entity
public class Account {
 
 @Id private String id;
 private String name;
 private String email;
...(생략)...

'MongoDB' 카테고리의 다른 글

MongoDB 관련 링크  (0) 2010.08.17
MongoDB-Morphia DAO Support 사용하기  (1) 2010.08.17
Sprnig에서 Morphia Junit Test하기  (0) 2010.08.16
MongoDB - Morphia Maven Dependency  (0) 2010.08.16
MongoDB Maven Dependency  (0) 2010.08.13
Java환경에서 MongoDB 설정(사용)하기  (0) 2010.08.13
Posted by summerwars