본문 바로가기
DB/Mongo DB

[MongoDB] Spring과 연결해 사용하기

by JiGyeong 2016. 6. 2.
몽고db를 spring과 연결해보자

1. mvc framework로 만들어준다.
2. pom.xml에 dependency를 추가해준다.


3. mongo를 추가해준다.



4. applicationContext.xml과

mongoContext.xml을 추가해준다.






5. MongoDB를 Test해보자



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
59
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("고길동 집 1억년전 어딘가..");
        
        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




계속 실행해도 에러 없이 계속 들어간다.

이전과 다른 class 데이터가 추가됐다.




* inserAllTestData

* removeAllDatas

* removeData


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
    private void insertAllTestData() {
        List<MongoTestVO> testVOList = new ArrayList<MongoTestVO>();
        MongoTestVO testVO = null;
        
        for (int i = 0; i < 100000; i++) {
            testVO = new MongoTestVO();
            testVO.setName("둘리"+i);
            testVO.setAddress("고길동 집"+i+"번지");
            testVOList.add(testVO);
        }
        mongoTemplate.insertAll(testVOList);
    }
    
    private void removeAllDatas() {
        // 전체 삭제
        mongoTemplate.remove(new Query(), "person");
    }
    
    private void removeData(String key, String value) {
        Criteria criteria = new Criteria(key);
        criteria.is(value);
        
        // address가 지구인 것도 지워라
        criteria = criteria.and("address");
        criteria.is("지구");
        
        Query query = new Query(criteria);
        
        mongoTemplate.remove(query, "person");
    }
cs

and를 써서 여러 조건을 걸수 있다.



'DB > Mongo DB' 카테고리의 다른 글

[MongoDB] Aggregation Function  (0) 2016.06.02
[MongDB] update, find  (0) 2016.06.02
[Big Data] MapReduce  (0) 2016.06.01
[Big Data] 쿼리써서 데이터 찾기4 (집계)  (0) 2016.06.01
[Big Data] 쿼리써서 데이터 찾기3 (개수제한)  (0) 2016.06.01