본문 바로가기
[ Developer ]/MongoDB

[MongoDB] 몽고디비 스프링 연동해 Insert 하기

by 김현섭. 2016. 6. 30.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
Spring-Data-MongoDB 이용해 Insert 해보기
Spring에서 MongoDB를 이용해본다

이전에 생성했던 MongoTest.java에 추가를 해준다
클래스를 따로 생성하지 않으려고 Main Class 안에 객체 클래스를 선언해준다


MongoDB를 이용할 때 @Id 어노테이션이 꼭 붙어야 한다
그리고 VO를 이용해서 넣을 값을 set 시키고 실행 한다


그런 후 Run as -> Java Application으로 실행을 하고 결과를 본다


그런 후 Robomongo를 확인하면 값이 들어간 것을 볼 수 있다


이전에 MongoDB만을 이용할 때와는 다르게 _class로 값이 들어간 것을 볼 수 있다
계속 실행을 해도 문제없이 값이 들어가는 것을 볼 수 있다
why? -> 중복이 되지 않기 때문

*MongoTest.java
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
public class MongoTest {
    
    private MongoTemplate mongoTemplate;
    
    public MongoTest() {
        
        String mongoContextPath = "/mongoContext.xml";
        
        AbstractApplicationContext ctx = new ClassPathXmlApplicationContext(mongoContextPath);
        
        mongoTemplate = (MongoTemplate) ctx.getBean("mongoTemplate");
    }
    
    public static void main(String[] args) {
        MongoTest mongoTest = new MongoTest();
        
        System.out.println(mongoTest.mongoTemplate);
        
        mongoTest.insertTestData();
    }
    
    private void insertTestData() {
        MongoTestVO testVO = new MongoTestVO();
        testVO.setName("둘리");
        testVO.setAddress("고길동 집");
        
        mongoTemplate.insert(testVO, "person");
    }
    
    private class MongoTestVO {
        
        @Id
        private String id;
        
        private String name;
        private String address;
        
        public String getId() {
            return id;
        }
        public void setId(String id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getAddress() {
            return address;
        }
        public void setAddress(String address) {
            this.address = address;
        }
    }
    
}
cs

*Tips
Insert시 "pserson"을 적어주지 않으려면 객체에 collection 옵션을 준다