티스토리 뷰
반응형
[mongoDB] mongoDB Java 연동하기
Connecting mongoDB with java
MongoDB Java Driver
아래 링크에 MongoDB java 와 관련된 Driver가 안내되어 있다.
https://docs.mongodb.com/ecosystem/drivers/java/
mongoDB java Driver의 최신버전과 Api, Document를 다운 받을 수 있다.
상단좌측의 Download를 클릭하면 해당버전의 라이브러리파일, 소스코드 등을 다운받을 수 있다.
오른쪽의 Maven과 gradle 설정을 자동으로 생성해주기 때문에 알맞은 환경을 선택해서 라이브러리를 설정하면된다.
1 2 3 4 5 6 7 | <dependencies> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.4.1</version> </dependency> </dependencies> |
1 2 3 | dependencies {
compile 'org.mongodb:mongo-java-driver:3.4.1'
}
|
mongoDB 연동 Java 코드
# Namuwiki 덤프 데이터베이스이용 (참고) - http://dwfox.tistory.com/63
# mongod가 대기상태인 상태에서 연동하도록 한다.
아래 코드로 Collection까지 가져온다.
1 2 3 4 5 6 7 8 | MongoClient mongoClient = new MongoClient("localhost", PORT); logger.info("MongoClient connected"); MongoDatabase db = mongoClient.getDatabase(DATABASE_NAME); logger.info("Get 'namu' MongoDatabase"); MongoCollection<Document> documentMongoCollection = db.getCollection(COLLECTION_NAME); logger.info("Get 'namudb' Document"); |
간단한 쿼리를 만들어보자
- 단순 쿼리
1 2 | //title에 keyword 검색 query.put("title", keyword); |
- like 쿼리
1 2 | // like 검색 (like '%keyword%'와 같음) query.put("title", Pattern.compile(keyword)); |
- or like 쿼리
1 2 3 4 5 6 7 8 9 10 | List<BasicDBObject> coll = new ArrayList<BasicDBObject>(); // 키워드 1 (like '%keyworkd1%') coll.add(new BasicDBObject("title", Pattern.compile(keyword1))); // 키워드 2 (like '%keyworkd2%') coll.add(new BasicDBObject("title", Pattern.compile(keyword2))); // 키워드1 or 키워드2 BasicDBObject query = new BasicDBObject("$or", coll); |
※ or like 쿼리 전체 코드
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 | MongoClient mongoClient = new MongoClient("localhost", PORT); MongoDatabase db = mongoClient.getDatabase(DATABASE_NAME); MongoCollection<Document> documentMongoCollection = db.getCollection(COLLECTION_NAME); BasicDBObject query = new BasicDBObject(); query.put("title", keyword); //titledp keyword query.put("text", Pattern.compile(keyword)); List<BasicDBObject> coll = new ArrayList<BasicDBObject>(); // 키워드 1 (like '%keyworkd1%') coll.add(new BasicDBObject("title", Pattern.compile(keyword1))); // 키워드 2 (like '%keyworkd2%') coll.add(new BasicDBObject("title", Pattern.compile(keyword2))); // 키워드1 or 키워드2 BasicDBObject query = new BasicDBObject("$or", coll); MongoCursor<Document> cursor = documentMongoCollection.find(query).iterator(); try { while (cursor.hasNext()) { Document document = cursor.next(); String text = document.get("text").toString(); } } finally { cursor.close(); } |
위와 같이 다양한 방법의 쿼리를 통해 iterator를 사용하여 데이터를 가져오도록 한다.
반응형
'Dev > DB' 카테고리의 다른 글
[mongoDB] mongoDB Json 데이터베이스 가져오기 - import Json database (0) | 2017.01.12 |
---|---|
[mongoDB] mongoDB 설치하기 / 환경설정 - windows (0) | 2017.01.12 |
[MariaDB] Toad for MySQL 연결하기 - MySQL GUI Tool (0) | 2016.01.15 |
[MariaDB/Mysql] Ubuntu 14.04 MariDB/Mysql 초기 설정 및 데이터베이스 / 유저 생성 (0) | 2016.01.13 |
[MariaDB] MariaDB 설치 (0) | 2015.12.24 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 안드로이드 스튜디오
- Picasso
- 설치
- MongoDB
- GS25
- 후쿠오카
- Custom
- Android Studio
- Python
- 예제
- library
- 직화
- 편의점
- 라면
- 라멘
- 돈돈
- 일본
- jar
- Android
- 안드로이드
- 에러
- 하카타
- Android Stuido
- 인스턴트
- 컵라면
- 일식
- 생성
- 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 |
글 보관함