บทความนี้อธิบายคลาสเครื่องมือการทำงานของฐานข้อมูล MongoDB ในโหมด Java Singleton แบ่งปันสำหรับการอ้างอิงของคุณดังนี้:
ฉันมักจะดำเนินการพื้นฐานบางอย่างบน MongoDB และรวมการดำเนินการที่ใช้กันทั่วไปเหล่านี้เข้ากับคลาสเครื่องมือเพื่อการพัฒนาและการใช้งานที่ง่าย
การใช้ข้อมูลฤดูใบไม้ผลิ Morphia และเฟรมเวิร์กอื่น ๆ คือการลดค่าใช้จ่ายในการเรียนรู้และการบำรุงรักษา นอกจากนี้หากคุณใช้วิธี JDBC โดยตรงคุณสามารถยืดหยุ่นได้มากขึ้นและปล่อยให้รอยเท้าสำหรับการสะสมในอนาคตของคุณ
เวอร์ชันไดรเวอร์ Java:
<!-ไดรเวอร์ MongoDB-> <การพึ่งพา> <GroupId> org.mongoDb </groupId> <ratifactid> Mongo-Java-Driver </artifactid>
รหัสคลาสเครื่องมือมีดังนี้:
แพ็คเกจ utils; นำเข้า java.util.arraylist; นำเข้า java.util.list; นำเข้า org.apache.commons.configuration.Compositeconfiguration; นำเข้า org.apache.Commons.configuration.Compositeconfiguration; org.bson.conversions.bson; นำเข้า org.bson.types.objectid; นำเข้า com.mongodb.basicdbobject; นำเข้า com.mongoDb.mongoclient; นำเข้า com.mongoDb.mongoclientoptions; com.mongodb.client.mongocollection; นำเข้า com.mongodb.client.mongocollection; นำเข้า com.mongodb.client.mongocursor; นำเข้า com.mongoDb.client.mongodatabase; นำเข้า com.mongoDb.client.mongoiterable; com.mongoDb.client.result.deleteresult;/** * อินสแตนซ์คลาสเครื่องมือ MongoDB Mongo แสดงให้เห็นถึงพูลการเชื่อมต่อฐานข้อมูลแม้ในสภาพแวดล้อมแบบมัลติเธรดอินสแตนซ์ Mongo นั้นเพียงพอสำหรับเรา <br> * โปรดทราบว่า Mongo ได้นำกลุ่มการเชื่อมต่อมาใช้ <br> * ได้รับการออกแบบให้เป็นโหมด Singleton เนื่องจากไดรเวอร์ Java ของ MongoDB นั้นปลอดภัยสำหรับการใช้งานสำหรับแอปพลิเคชันทั่วไปมีเพียงอินสแตนซ์ Mongo เพียงตัวเดียว <br> * Mongo มีกลุ่มการเชื่อมต่อในตัว (ค่าเริ่มต้นคือ 10) สำหรับสภาพแวดล้อมที่มีการเขียนและการอ่านจำนวนมากเพื่อให้แน่ใจว่ามีการใช้ db เดียวกันในเซสชั่น <br> * db และ dbcollection เป็นอย่างแน่นอนอย่างแน่นอน <br> * * @author zhoulingfei * @date 2015-5-29 11:49:49 am * @version 0.0.0 สงวนลิขสิทธิ์ */public enum mongodbutil {/***กำหนดองค์ประกอบที่แจกแจงซึ่งแสดงถึงอินสแตนซ์ของคลาสนี้*/อินสแตนซ์; Mongoclient ส่วนตัว; คงที่ { System.out.println ("=========================================================================================================================== - - - - - - E.PrintStackTrace (); arrays.aslist (Serveraddress ใหม่ ("localhost", 27017), Serveraddress ใหม่ ("localhost", 27018)); db.authenticate (myusername, mypassword); ค่าเริ่มต้นคือ 100 ตัวเลือก connecttimeout (15000); // การหมดเวลาการเชื่อมต่อได้รับการแนะนำ> 3000ms ตัวเลือก maxwaittime (5000); ข้อผิดพลาด DB "จะถูกโยนตัวเลือก WWRITECONCERN (WRITECONCERN.SAFE); // OPTIONS.BUILD ();} // - - ฐานข้อมูล;} return null; ". Equals (dbname)) {return null; GetDB (DBNAME) .ListCollectionNames (); Mongoiterable <string> s = mongoclient.listdatabasenames (); FindById (Mongocollection <เอกสาร> coll, string id) {objectid _idobj = null; GetCount (Mongocollection <conage> Coll) {int count = (int) coll.count (); FindBypage (Mongocollection <OCPONLE> COLL, BSON FILTER, int Pageno, หน้า int) {BSON orderby = ใหม่ BasicDbobject ("_ id", 1); coll * @param id * @return */ public int deleteById (Mongocollection <เอกสาร> coll, id) {int count = 0; coll.deleteone (ตัวกรอง); ObjectId (ID); getDB (dbname) .getCollection (collName) .Drop ();} / ** * ปิด mongoDB * / โมฆะสาธารณะปิด () {ถ้า (mongoclient! = null) {mongoclient.close () dbname = "GC_MAP_DISPLAY_DB"; "zhoulf"); "556925F34711371DF0DDDFD4B"; // ในขณะที่ (Cursor1.hasnext ()) {// org.bson.document _doc = (เอกสาร) Cursor1.next (); coll.find (person.class) .Terator (); "556949504711371C60601B5A"; // QUERY ตัวกรอง BSON ทั้งหมด = filters.eq ("count", 0);สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเนื้อหาที่เกี่ยวข้องกับ Java โปรดตรวจสอบหัวข้อของเว็บไซต์นี้: "สรุปทักษะของ Java ในการใช้งานฐานข้อมูลโดยใช้ JDBC", "," บทสรุปของการเขียนโปรแกรมฐานข้อมูล Java+MySQL "," การดำเนินการเกี่ยวกับโครงสร้างข้อมูล Java ทักษะการใช้งานแคช "
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม Java ของทุกคน