通过读取配置文件,启动mongodb
在实际的项目中,经常利用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与port
String 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的更多相关文章
- 使用配置文件启动MongoDB
Ubuntu 16.04 (阿里云ECS),MongoDB 4.0, 原来,已经写了10篇MongoDB的随笔了.可是,自己居然没有使用配置文件启动过MongoDB,对其更多的配置是不明白的. 昨天( ...
- Docker实战(1):通过配置文件启动MongoDB
系统环境:Centos7 MongoDB 4.0.0 创建文件 注意:创建文件全是为了Docker run做准备,文件所对应的路径需与下一步的映射路径所对应,路径可自我更改. mkdir mongo ...
- MongoDB 配置文件启动
MongoDB 服务启动有两种方式:一种是直接命令启动,一种是通过配置文件启动 1.命令启动: mongod -dbpath C:\data\db -logpath C:\data\log\mongo ...
- 操作3 mongodb和mysql 开启慢查询日志 ,以及mongodb从配置文件启动
1. mongodb从配置文件启动 创建配置文件:/usr/local/mongodb/etc/mongodb.conf 配置文件的内容为: #Directory and relavent set d ...
- MySQL读取配置文件的顺序、启动方式、启动原理
一.MySQL读取配置文件的顺序 读取顺序:/etc/my.cnf > /etc/mysql/my.cnf > /usr/etc/my.cnf > ~/.my.cnf 命令验证:[r ...
- MongoDB 通过配置文件启动
mongod启动命令需指定一些参数启动服务,我们通过配置文件的方式配置这些参数加载配置. ./bin/mongod --config ./conf/mongodb.conf(或./bin/mongod ...
- skynet启动读取配置文件浅析(skynet_main.c)
1.作为skynet的启动文件,主要完成了一些初始化和读取并存取配置文件内容的工作. 在这里只将代码读取配置文件的部分抽取出来,就算没有skynet环境,这些代码也是可以运行的,了解以后再对照源码进行 ...
- 进程监控工具supervisor 启动Mongodb
进程监控工具supervisor 启动Mongodb 一什么是supervisor Superviosr是一个UNIX-like系统上的进程监控工具. Supervisor是一个Python开发的cl ...
- nova读取配置文件流程
在我们安装nova的过程中,设置它的配置文件/etc/nova/nova.conf是必不可少的一步.配置好nova.conf文件,nova-compute.nova-network等服务才 ...
- SparkStreaming动态读取配置文件
SparkStreaming动态读取配置文件 标签: SparkStreaming HDFS 配置文件 MySql 需求 要实现SparkStreaming在流处理过程中能动态的获取到配置文件的改变 ...
随机推荐
- DOS基本命令(基本部分)
一.cls(clear screen的简写) 命令作用:清屏屏幕 详细介绍:屏幕显示的所有字符信息都是存放在一个屏幕缓冲区中,cls命令的作用是清除屏幕上的文字,并将该缓冲区清空. 二.dir(dir ...
- UE4/Unity3D中同时捕获多高清摄像头的高效插件
本文主要讲实现过程的一些坑. 先说下要实现的目标,主要功能在UE4/Unity中都要用,能同时捕获多个摄像头,并且捕获的图片要达到1080p25桢上,并且需要经过复杂的图片处理后丢给UE4/Unity ...
- arduino扩展IO与M74HC595B芯片的使用,挪车电话提示牌的设计
2018-01-0915:39:24 视频连接 首先arduino中shiftOUT()函数的定义与说明! shiftOut()描述将一个数据的一个字节一位一位的移出.从最高有效位(最左边)或最低有效 ...
- 【javascript】onblur调用函数失效问题记录
在处理页面上一个失焦效果时遇到了 xxxx is not a function 这样的错误,但函数确实有定义成功 ,经过测试发现是 id 值与函数名一致导致的问题,但是产生的原因没有找到详细的解释 ...
- Linux指令--ln
ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在 ...
- 自动化安装DHCP配置脚本
DHCP配置脚本: #!/bin/sh NET=192.168.6.0 MASK=255.255.255.0 RANGE="192.168.6.50 192.168.6.100" ...
- Win7系统下彻底删除无用服务的方法
win7系统下中有非常多的服务项,用户来满足不同行业用户间的所有需求,系统服务也是执行指定系统功能的程序,许多情况下我们想要运行软件或执行外接设备都无法离开系统服务,但并非所有系统服务都是我们用到的, ...
- JAVA常用知识点及面试题总结
1. String.StringBuffer.StringBuilder三者区别? (1)三者在执行速率上的比较: String<StringBuffer<StringBuilder 原因 ...
- CSS的背景属性和边框属性
CSS的背景属性: background 简写属性,作用是将背景属性设置在一个声明中 background-attachment 背景图像是否固定或者随着页面的其余部分滚动 background-co ...
- Android+TensorFlow+CNN+MNIST 手写数字识别实现
Android+TensorFlow+CNN+MNIST 手写数字识别实现 SkySeraph 2018 Email:skyseraph00#163.com 更多精彩请直接访问SkySeraph个人站 ...