通過讀取設定檔,啟動mongodb

來源:互聯網
上載者:User

標籤:work   rem   move   except   資訊   valueof   stat   mapper   查詢   

  在實際的項目中,經常利用mongodb資料庫做緩衝,mongodb的並發性比較高,所以對於快速儲存、讀取資訊有很多優點。在項目中對於第一次的資料請求會直接存取資料庫,而對於獲得的資訊通常都會在此時刻存入到mongodb中,下一次請求就不會再訪問資料庫而是直接在mongodb中進行增刪改查。

  而通常的mongodb我們一般利用設定檔的形式來設定,這對於後期的交付也特別有利。一般就是以下幾個步驟:

  1.寫設定檔mongodb.properties

#mongodb的ip和連接埠號碼ipandport=127.0.0.1:27017#資料庫名字dbname=mongodbTest

  2.寫得到mongodb的ip和連接埠號碼的類及方法GetMongoDBIpAndPort.java

package org.fkit.B2118.util;import java.io.IOException;import java.io.InputStream;import java.util.Properties;public class GetMongoDBIpAndPort {        //ip與連接埠號碼private String ipAndPort;        //資料庫名字private String dbname;        //構造方法public void getMongoDBIpAndPort(){InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("mongodb.properties");Properties p = new Properties();try {p.load(inputStream);this.ipAndPort = p.getProperty("ipandport");//擷取設定檔的值this.dbname = p.getProperty("dbname");//擷取設定檔的值} catch (IOException e) {e.printStackTrace();}}//setter,getter方法public String getIpAndPort() {return ipAndPort;}public void setIpAndPort(String ipAndPort) {this.ipAndPort = ipAndPort;}public String getDbname() {return dbname;}public void setDbname(String dbname) {this.dbname = dbname;}}        

  3.寫資料庫的dao層,對資料庫經行操作MongoDb.java

package org.fkit.B2118.dao;import java.net.UnknownHostException;import java.util.ArrayList;import java.util.Date;import java.util.List;import org.bson.types.ObjectId;import org.fkit.B2118.controller.BuyTicketController;import org.fkit.B2118.domain.B2118ticket;import org.fkit.B2118.mapper.B2118ticketMapper;import org.fkit.B2118.service.TicketService;import org.fkit.B2118.service.TicketServiceImpl;import org.fkit.B2118.util.GetMongoDBIpAndPort;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.stereotype.Controller;import com.mongodb.BasicDBObject;import com.mongodb.DB;import com.mongodb.DBCollection;import com.mongodb.DBCursor;import com.mongodb.DBObject;import com.mongodb.Mongo;import com.mongodb.MongoException;import com.sun.swing.internal.plaf.basic.resources.basic;public class MongoDb {public static Mongo connection = null;public static DB database = null;public static DBCollection collection;public static MongoDb db ;@Autowired@Qualifier("ticketService")public TicketService ticketService;public B2118ticketMapper ticketMapper;public DBObject dbs = new BasicDBObject();/* * 建立一個資料庫集合Connection */public void createConnection(String name)  throws UnknownHostException, MongoException{
          //利用設定檔及其方法來建立連結GetMongoDBIpAndPort getMongoDBIpAndPort= new GetMongoDBIpAndPort();getMongoDBIpAndPort.getMongoDBIpAndPort();//構造方法String ipandport= getMongoDBIpAndPort.getIpAndPort();//得到ip與portString dbname = getMongoDBIpAndPort.getDbname();//得到資料庫名字//建立一個Mongo的資料庫連接對象Mongo con = new Mongo(ipandport);//建立相關資料庫的串連DB db = con.getDB(dbname);db.createCollection(name, dbs);}
     /* * 開啟一個資料庫集合Connection */
public static void openConnection(String name) throws UnknownHostException, MongoException{GetMongoDBIpAndPort getMongoDBIpAndPort= new GetMongoDBIpAndPort();getMongoDBIpAndPort.getMongoDBIpAndPort();String ipandport= getMongoDBIpAndPort.getIpAndPort();String dbname = getMongoDBIpAndPort.getDbname();System.out.println(ipandport);connection = new Mongo(ipandport);database = connection.getDB(dbname);collection=database.getCollection(name);}
     /* * 關閉一個資料庫集合Connection */

public static void closeConnection(String name) {connection.close();}/* * 查詢資料 */public List<B2118ticket> queryTicket() throws UnknownHostException, MongoException {//執行個體化try {openConnection("ticket");} catch (UnknownHostException e) {e.printStackTrace();} catch (MongoException e) {e.printStackTrace();}List<B2118ticket> b2118ticketlist=new ArrayList<B2118ticket>();DBCursor cur = collection.find(); while (cur.hasNext()) { DBObject object = cur.next(); B2118ticket b2118ticket = new B2118ticket(); b2118ticket.setTid(String.valueOf(object.get("tid"))); b2118ticket.setTrain(String.valueOf(object.get("train"))); b2118ticket.setTnum(String.valueOf(object.get("tnum"))); b2118ticket.setTtime((Date) object.get("ttime")); b2118ticket.setTtotle(String.valueOf(object.get("ttotle"))); b2118ticket.setStart(String.valueOf(object.get("start"))); b2118ticket.setStarttime(String.valueOf(object.get("starttime"))); b2118ticket.setEnd(String.valueOf(object.get("end"))); b2118ticket.setEndtime(String.valueOf(object.get("endtime"))); b2118ticket.setPrice(String.valueOf(object.get("price"))); b2118ticketlist.add(b2118ticket); } System.out.println(b2118ticketlist); closeConnection("ticket"); return b2118ticketlist;}public static int deleteAll(String collName){//1.得到集合DBCollection coll = database.getCollection(collName);DBObject dbs = new BasicDBObject();int count = coll.remove(dbs).getN();return count;}}

  

通過讀取設定檔,啟動mongodb

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.