通过读取配置文件,启动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在流处理过程中能动态的获取到配置文件的改变 ...
随机推荐
- HTML <form>标签
1.单选按钮 <html> <body> <form> 名: <input type="radio" name="myname& ...
- 再叙Java反射
Java中的反射 本文为反射的基础知识部分. 能够分析类能力的程序被称为反射(reflective). 反射机制允许程序在运行时取得任何一个已知名称的class的内部信息,容许程序在运行时加载.探知. ...
- JSP页面中的pageEncoding和contentType的区别
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> pag ...
- 如何让a标签的下划线去掉?
在css中添加 a{ text-decoration: none; }
- 前后端分离之CORS和WebApi
目前的项目是前端mv*+api的方式进行开发的,以前都是没有跨域的方案,前后端人员在同一个解决方案里边进行开发,前端人员要用IIS或VS来开发和调试Api,这样就很不方便,迫切需要跨域访问Api. 评 ...
- mysql存储过程且mybatis调用
首先,需要执行符DELIMITER ,建议用//,即在存储过程开始前定义delimiter //,在结束后加上//,最后加上DELIMITER ; 具体原因@参考文章1写的很清楚,不再赘述. 参考文章 ...
- Linux指令--df,du
linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息. 1.命令格式: df [选项] [文件] 2.命 ...
- PHP中变量的销毁
PHP的变量或对象的销毁可以分成显式销毁和隐式销毁: 1.显式销毁,当对象没有被引用时就会被销毁,所以我们可以unset或为其赋值NULL; 2.隐式销毁,PHP是脚本语言,在代码执行完最后一行时,所 ...
- 在nagios中使用python脚本监控linux主机
在被监控端192.168.5.1101.先把getload.py放到/usr/local/nagios/libexec内[root@nhserver1 ~]# vim /usr/local/nagio ...
- Struts2中实现随机验证码
一.创建RandomNum类 1: import java.awt.Color; 2: import java.awt.Font; 3: import java.awt.Graphics; 4: im ...