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);
}
}