MongDB的增删查改

1.首先,开启mongdb服务:

              

  >mongod --dbpath=F:\Users\mongdb

2.接下来就是关于JAVA操作mongdb的代码了:


       a.制作一个MongDB的Utils工具 如下:


package com.lgy.util;

import java.net.UnknownHostException;
import java.util.Set;

import com.mongodb.CommandResult;
import com.mongodb.DB;
import com.mongodb.MongoClient;
import com.mongodb.WriteResult;

public class MongDBUtils {
	public final static String IP = "localhost";
	public final static Integer PORT = 27017;
	public final static String USER_NAME = "admin";
	public final static String PWD = "123456";
	public final static String collectionName = "mydb";
	public static DB getDB() {
		MongoClient mongoClient;
		DB db = null;
		try {
			mongoClient = new MongoClient(IP, PORT);
		//	mongoClient = new MongoClient();
			db = mongoClient.getDB(collectionName);
		} catch (UnknownHostException e) {
			e.printStackTrace();
		}
		return db;
	}
}

          b.制作baseDao和baseDaoImpl实现类

package com.lgy.base;

import java.util.List;

import com.mongodb.BasicDBObject;

public interface BaseDao {
	// 数据库CRUD基本操作
	public boolean insert(String collectionName, BasicDBObject bean);

	public boolean delete(String collectionName, BasicDBObject bean);

	public List find(String collectionName, BasicDBObject bean);

	public boolean update(String collectionName, BasicDBObject oldBean,
			BasicDBObject newBean);

}


package com.lgy.base;

import java.util.List;

import com.lgy.util.MongDBUtils;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.WriteResult;

public class BaseDaoImpl implements BaseDao {

	@Override
	public boolean insert(String collectionName, BasicDBObject bean) {
		DB db = MongDBUtils.getDB();
		db.getCollection(collectionName).insert(bean);
		return true;
	}

	@Override
	public boolean delete(String collectionName, BasicDBObject bean) {
		DB db = MongDBUtils.getDB();
		db.getCollection(collectionName).remove(bean);
		return true;
	}

	@Override
	public List<DBObject> find(String collectionName, BasicDBObject bean) {
		DB db = MongDBUtils.getDB();
		List<DBObject> list = db.getCollection(collectionName).find(bean).toArray();
		return list;
	}

	@Override
	public boolean update(String collectionName, BasicDBObject oldBean,
			BasicDBObject newBean) {
		DB db = MongDBUtils.getDB();
		db.getCollection(collectionName).update(oldBean, newBean);
		return false;
	}

}


3.创建person的一个dao层类:

package com.lgy.dao;

import java.util.List;

import com.lgy.base.BaseDaoImpl;
import com.lgy.util.MongDBUtils;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBObject;

public class PersonDao extends BaseDaoImpl {

}
package com.lgy.test;

import java.util.List;

import com.lgy.dao.PersonDao;
import com.lgy.util.MongDBUtils;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBObject;

public class Test {
	//测试连接状态
	public static void init() {
		DB db = MongDBUtils.getDB();
		System.out.println(db.getCollectionNames().size());
	}
	
	public static void main(String[] args) {
		init();
	}
	
	public static void insert() {
		PersonDao personDao = new PersonDao();
		BasicDBObject bean = new BasicDBObject();
		bean.put("name", "ta");
		bean.put("age", 22);
		//插入数据
		personDao.insert("person", bean);
	}
	public static void findList() {
		PersonDao personDao = new PersonDao();
		
		/*BasicDBObject bean = new BasicDBObject();
		bean.put("age", 22);*/
		
		List list = personDao.find("person", null);
		for (Object object : list) {
			System.out.println(object);
		}
	}
	public static void delete() {
		PersonDao personDao = new PersonDao();
		BasicDBObject bean = new BasicDBObject();
		personDao.delete("person", bean);
	}
	public static void update() {
		PersonDao personDao = new PersonDao();
		BasicDBObject bean = new BasicDBObject();
		bean.put("ta", "haha");
		
		List<DBObject> find = personDao.find("person", bean);
		DBObject dbObject = find.get(0);
		
		BasicDBObject newBean = new BasicDBObject();
		newBean.put("ta", "abcdef");
		personDao.update("person", (BasicDBObject)dbObject, newBean);
	}
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值