您的位置:首页 > 数据库 > Mongodb

java操作MongoDB

2016-02-14 10:13 591 查看
开发环境:

System:Windows8.1

IDE:eclipse

Database:mongoDB

开发依赖库:

mongo-java-driver-2.5.jar

配置文件 mongodbpool.properties

db=local
host=127.0.0.1
port=27017
size=20
block=20


MongoDBManager.class

package com.lyh.mongo;

import java.util.Properties;
import com.lyh.util.ReadProperties;
import com.mongodb.DB;
import com.mongodb.Mongo;

/**
* @Description:MongoDB的对象和连接
* @ClassName:MongoManager.java
* @author:liyon_000
* @time:2016-1-28 下午2:59:20
*/
public class MongoManager {
private static Mongo mongo = null;
private static  String confFilePath="/mongodbpool.properties";
private static Properties pro = null;
private MongoManager() {
}

/**
* 根据名称获取DB,相当于连接
* @param dbName
* @return
*/
public static DB getDB() {
pro = ReadProperties.getProperties(confFilePath);
if (mongo == null) {
init();
}
return mongo.getDB(pro.getProperty("db"));
}
/**
* 初始化连接池,设置参数
*/
private static void init() {
//mongodb部署的ip地址
String host = pro.getProperty("host");
//mongodb部署的接口
int port = Integer.parseInt(pro.getProperty("port"));
try {
//获得mongo对象,可以用此对象获得Database
mongo = new Mongo(host, port);
for (String name:mongo.getDatabaseNames()) {
System.out.println("dbName:"+name);
}

} catch (Exception e) {
e.printStackTrace();
}
}

}


读取配置文件类ReadProperties.java

package com.lyh.util;

import java.io.InputStream;
import java.util.Properties;
/**
* @Description:读取配置文件
* @ClassName:ReadProperties.java
* @author:liyon_000
* @time:2016-1-28 下午3:09:22
*/
public class ReadProperties {

private ReadProperties(){}
private static Properties properties = null;
static{
if(properties ==null){
properties = new Properties();
}
}
private static void init(String filePath){
InputStream inputStream  = Object.class.getResourceAsStream(filePath);
try {
properties.load(inputStream);
} catch (Exception e) {
e.printStackTrace();
}
}
public static Properties getProperties(String filePath){
init(filePath);
return properties;
}
}


基类BusinessObject.java

package com.lyh.mongo;
import com.mongodb.DB;
import com.mongodb.DBCollection;

/**
* @Description:基类
* @ClassName:BusinessObject.java
* @author:liyon_000
* @time:2016-1-28 下午3:53:09
*/
public class BusinessObject {
private static DB db;
private static DBCollection dbCollection;
static {
db =MongoManager.getDB();
}
public  static DBCollection getDbCollection(String document){
dbCollection = db.getCollection(document);
return dbCollection;
}
}


MongoDB操作类

package com.lyh.book;

import java.util.ArrayList;
import java.util.List;

import org.bson.types.ObjectId;
import com.lyh.mongo.BusinessObject;
import com.mongodb.BasicDBObject;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;

/**
* @Description:book的mongoDB操作例子
* @ClassName:BookMongoDemo.java
* @author:liyon_000
* @time:2016-1-28 下午3:48:07
*/
public class BookMongoDemo extends BusinessObject{

public static DBCollection coll = null;
public static DBCursor cur = null;

/**
* 查询所有的book数据,只作为检测数据
*/
private static void queryAll(){
System.out.println("查询所有book的数据:");
cur = coll.find();
while (cur.hasNext()) {
System.out.println(cur.next());
}
}

public static void insert(){
queryAll();
DBObject book = new BasicDBObject();
book.put("name", "爱你如初");
book.put("price", 40);
book.put("author", "张爱玲");
book.put("press", "中国教育出版社");
book.put("kind", "TE001");
coll.save(book);
System.out.println(coll.save(book).getN());

}

public static void insertList(){
queryAll();
DBObject book = new BasicDBObject();
book.put("_id", "123456");  //必须有_,尽量不要让mongodb自动生成
book.put("name", "如若有你,一世欢喜");
book.put("price", 23);
book.put("author", "锦竹");
book.put("press", "杭州文艺出版社");
book.put("kind", "TE001");

List<DBObject> list = new ArrayList<DBObject>();
list.add(book);
coll.insert(list);
System.out.println(coll.insert(list).getN());

}

public static void remove(){
queryAll();
//删除指定_id
coll.remove(new BasicDBObject("_id", new ObjectId("56a99144a6e10b29746f0a18")));
queryAll();
//删除价格大于80的
coll.remove(new BasicDBObject("price",new BasicDBObject("$gte", 80)));
queryAll();
}

public static void modify(){
queryAll();
DBObject book = new BasicDBObject();
book.put("name", "花间");
book.put("price", 23);
book.put("author", "兰思思");
book.put("press", "北京文艺出版社");
book.put("kind", "TE001");
//_id为56a9d224483881c662edee9a的数据中press改为北京文艺出版社
coll.update(new BasicDBObject("_id", new ObjectId("56a9d224483881c662edee9a")),book);
}

public static void find(){
DBCursor dbcur =coll.find(new BasicDBObject("author","胡辛束"));
while(dbcur.hasNext()){
System.out.println(dbcur.next());
}
}

public static void main(String[] args) {
coll = getDbCollection("book");
queryAll();
//insert();
//insertList();
//remove();
//modify();
//find();
}

}
总结到这吧,简单的操作,还需要深入的学习
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: