java操作mongodb的增、删、改、查操作。
来源:互联网 发布:新速特软件手机应用 编辑:程序博客网 时间:2024/05/19 15:19
建议用一个数据库连接对象操作数据库,如果需要多个,可以初始化多个实例。
使用单例模式保持一个数据库连接:
public class MongoDb {private static MongoDb instance;private DB db;private MongoDb(){//MongoClient mongoClient = new MongoClient();//MongoClient mongoClient = new MongoClient( "localhost" );//MongoClient mongoClient = new MongoClient( "localhost" , 27017 );MongoClient mongoClient;try {mongoClient = new MongoClient("192.168.0.228", 27017);//mongoClient = new MongoClient(Arrays.asList(new ServerAddress("192.168.0.228", 27017)));db = mongoClient.getDB("simulator");} catch (UnknownHostException e) {e.printStackTrace();}}public static MongoDb getInstance(){if(instance == null){instance = new MongoDb();}return instance;}public DB getDb(){return this.db;}}DAO层的代码如下:
public class PlanDao {/** * 新增一个计划 * @param plan */public ObjectId add(Plan plan){DB db = MongoDb.getInstance().getDb();DBCollection coll = db.getCollection(SimulatorConstant.COLL_PLAN);DBObject object = DBObjectUtil.getDBObjectByPlan(plan);coll.insert(object);return (ObjectId)object.get("_id");}/** * 通过ID获得一个plan对象 * @param id */public Plan getById(String id){DB db = MongoDb.getInstance().getDb();DBCollection coll = db.getCollection(SimulatorConstant.COLL_PLAN);DBObject object = coll.findOne(new BasicDBObject("_id", new ObjectId(id)));return DBObjectUtil.getPlanByDBObject(object);}/** * 删除一个对象 * @param id */public void delete(String id){DB db = MongoDb.getInstance().getDb();DBCollection coll = db.getCollection(SimulatorConstant.COLL_PLAN);coll.remove(new BasicDBObject("_id", new ObjectId(id)));}/** * 获得所有的plan对象 * @return */public List<Plan> getAll(){List<Plan> planList = new ArrayList<Plan>();DB db = MongoDb.getInstance().getDb();DBCollection coll = db.getCollection(SimulatorConstant.COLL_PLAN);DBCursor cursor = coll.find();try { while(cursor.hasNext()) { DBObject object = cursor.next(); planList.add(DBObjectUtil.getPlanByDBObject(object)); }} finally { cursor.close();}return planList;}/** * 修改一个方案 * @param plan */public void modify(Plan plan){DB db = MongoDb.getInstance().getDb();DBCollection coll = db.getCollection(SimulatorConstant.COLL_PLAN);coll.update(new BasicDBObject("_id", new ObjectId(plan.getId())), DBObjectUtil.getDBObjectByPlan(plan));}}
SimulatorConstant.COLL_PLAN就是collection的名字。
model层的代码如下:
public class Plan {//方案的idprivate String id;//方案名称private String name;public Plan(){}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getId() {return id;}public void setId(String id) {this.id = id;}}
工具类,实现模型层和数据库之间的对应:
/** * @author hadoop * */public class DBObjectUtil {/** * 通过Plan获得BasicDBObject对象 * @param mac */public static BasicDBObject getDBObjectByPlan(Plan plan){ObjectId id;String sId = plan.getId();if(sId == null || sId.length() != 24){id = new ObjectId();} else {id = new ObjectId(sId);}BasicDBObject doc = new BasicDBObject("_id", id);doc.append("name", plan.getName());return doc;}/** * 通过BasicDBObject获得Plan对象 * @param object */public static Plan getPlanByDBObject(DBObject object){Plan plan = new Plan();plan.setId(((ObjectId)object.get("_id")).toString());plan.setName((String)object.get("name"));return plan;}}驱动可以在我上传的资源中找到。
- java操作mongodb的增、删、改、查操作。
- Java 操作MongoDb 增删改查
- Java操作MongoDB实现增删改查
- Java 操作MongoDb 增删改查
- Java 连接 Mongodb 增删改查操作
- java操作mongodb:基本的增删改查
- java 操作mongodb的增删查改 crud
- java 实现操作mongodb的连接,增删查改
- mongoDB的操作---增删改查
- MongoDB的增删改查操作
- mongodb的增删改查操作指南
- mongoDB-- 基本的操作增删改查
- MongoDB基础(增、删、改、查)操作
- MongoDB(六)java操作mongodb增删改查
- dom4J的增、删、改、查操作
- ElasticSearch的增、删、改、查操作
- Java操作MongoDB之CRUD(增删改查)
- MongoDB学习03之JAVA简单操作增删改查
- Hadoop集群(第6期)_WordCount运行详解
- POJ-2940-Wine trading in Gergovia
- s3c6410 pwm 学习
- 【Ubuntu12.04】“检测到系统程序出现问题”怎么办?
- 连通区域轮廓表示方法
- java操作mongodb的增、删、改、查操作。
- Linux下Wireshark提示There a…
- memcached-多线程模型
- Linux指令: which locate find df
- mysql快速学习
- vim 常用指令示意图
- SVN命令整理
- OpenTSDB简介
- OpenTSDB原理概述