이 기사에서는 Java Singleton 모드의 MongoDB 데이터베이스 작동 도구 클래스에 대해 설명합니다. 다음과 같이 참조에 대해 공유하십시오.
나는 종종 MongoDB에서 일부 기본 작업을 수행하며 일반적으로 사용되는 작업을 쉽게 개발하고 사용하기 위해 도구 클래스로 병합합니다.
스프링 데이터, Morphia 및 기타 프레임 워크의 사용은 학습 및 유지 보수 비용을 줄이는 것입니다. 또한 JDBC 방법을 직접 사용하는 경우보다 유연하고 향후 축적을 위해 발자국을 남길 수 있습니다.
Java 드라이버 버전 :
<!-MongoDB 드라이버-> <pectionement> <groupId> org.mongodb </groupid> <artifactid> Mongo-Java-Driver </artifactid> <bersion> 3.0.2 </version> </dependency>
도구 클래스 코드는 다음과 같습니다.
패키지 utils; import java.util.arraylist; import java.util.list; import org.apache.commons.configuration.compositeConfiguration; import org.apache.commons.configuration.configurationException; import org.apache.commons.commons.compiguration.propertiesconfiguration; import orgson.documement; org.bson.conversions.bson; import org.bson.types.objectid; import com.mongodb.basicdbobject; import com.mongodb.mongoclient; import com.mongodb.mongoclientoptions; import com.mongodb.mongoclientoptions.builder; import com.mongodb.wrriteconcern; com.mongodb.client.mongocollection; import com.mongodb.client.mongocollection; import com.mongodb.client.mongocursor; import com.mongodb.client.mongodatabase; import com.mongodb.client.mongoiterable; import com.mongodb.client.filters; import; com.mongodb.client.result.deleteresult;/** * mongodb 도구 클래스 Mongo 인스턴스는 다중 스레드 환경에서도 데이터베이스 연결 풀을 나타냅니다. 몽고 인스턴스는 우리에게 충분합니다 <br> * Mongo는 연결 풀을 구현하고 스레드 안전입니다. <br> * 싱글 톤 모드로 설계되었습니다. MongoDB의 Java 드라이버는 스레드 안전이기 때문에 일반 응용 프로그램의 경우 몽고 인스턴스가 하나만 있습니다. 쓰기 및 읽기가 다량의 환경의 경우, 동일한 DB가 세션에서 동일한 DB를 사용하도록하기 위해 <br> * DB 및 DBCollection은 절대적으로 스레드-안전 <br> * * @author zhoulingfei * @Date 2015-5-29 11:49:49 AM * @version 0.0.0 * @CopyRight (c) 1997-2015 CO.LTD. 모든 권리 보유. */public enum mongodbutil {/***이 클래스의 인스턴스를 나타내는 열거 된 요소를 정의합니다*/인스턴스; 개인 상자의 거상서; 정적 { System.out.println ( "========================================================================================================= ============================================================== ================================================================= ============================================================== ================================================================= ================================================================= ================================================================= e.printstacktrace ();} configuration string = config.getint.getint ( "port"); ARRAYS.ASLIST ( "LocalHost", 27017), New ServerAddress ( "LocalHost", 27018); DB.Authentice (MyuserName, MyPassword); 새로운 MongoclientOptions.builder (true); 옵션 .connecttimeout (15000); // 연결 시간 초과가 권장됩니다.> 3000ms 옵션 .maxwaittime (5000); // 소켓 타임 아웃 시간, 0 무제한 옵션. 옵션을 버릴 것입니다 .WriteConcern (writeConcern.safe); // 옵션 .build (); ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 데이터베이스; return null} / ** * 수집 객체 - @param collname * / public mongocollection (string dbname, string collname) {if (collname || ". {return null;} mongocollection <cument> collection = mongoclient.getDatabase (dbname). getCollection (collname); <string> _list = cols) {_list.add (s)}; s;} / ** * DBName (string dbname) {getdb (dbname). _idobj = retock} {return null} filters.eq ( "_ id", _idobj); query*/ public mongocursor <cument> find (mongocollection <cument> coll, bson filter) {return coll.find (filter). iterator ();}; 1); skip (PageBy) .limit (pagesize) = 새로운 객체 (id)} {return 0} filters.eq. / 공개 문서화는 <collection <collection <doc coll.updateone (filter, 새 문서 ( "$ set", newdoc); mongoclient.close ()}; mongbutil.instance.getCollection (dbname, collname); "Game", " + i); mongbutil2.instance.findbyid (coll, id); = (문서) cursor1.next (); mongbutil2.instance.dropdb ( "testdb"); "시간"; // mongodbutil.instance.updatebyid (coll, id, newdoc);Java 관련 컨텐츠에 대한 자세한 내용은이 사이트의 주제를 확인하십시오. "JDBC를 사용하여 데이터베이스를 운영하는 Java의 기술 요약", "Java+MySQL 데이터베이스 프로그래밍 요약", "Java 데이터 구조 및 알고리즘에 대한 튜토리얼", "Java File 및 Directory Operation Skills의 요약", "Java Operation Dom Node Skyled의 요약"및 "Java Operation Skills"및 "요약". 기술 "
이 기사가 모든 사람의 Java 프로그래밍에 도움이되기를 바랍니다.