java操作MongoDB
2016-02-14 10:13
591 查看
开发环境:
System:Windows8.1
IDE:eclipse
Database:mongoDB
开发依赖库:
mongo-java-driver-2.5.jar
配置文件 mongodbpool.properties
MongoDBManager.class
读取配置文件类ReadProperties.java
基类BusinessObject.java
MongoDB操作类
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(); } }总结到这吧,简单的操作,还需要深入的学习
相关文章推荐
- 在Mac OS上安装使用MongoDB的教程
- python-webpy和mongodb实现博客统计
- MongoDB的用法集锦:查询篇----->持续更新中
- Mac下安装和配置mongoDB
- mongodb最新java驱动CRUD使用演示
- mongodb分片部署
- mongodb副本集
- 学习MongoDB(Troubleshoot Replica Sets) 集群排除故障
- Java操作MongoDB
- Linux安装Mongodb和Mongodb基本操作
- mongodb搭建校内搜索引擎——网页文本的规范化
- Mongodb driver for java 使用样例
- mongodb主从模式部署
- mongodb用户权限配置
- mongodb监控指标
- mongodb分片集群配置
- mongodb安装
- MongoDB 使用记录
- [整理]MongoDB 经常使用命令总结
- [MongoDB] Remove, update, create document