部署方法:首先下载mongodb-win32-i386-v1.6-latest.zip,解压缩,在解压缩的硬盘分区下简历data/db,将解压缩后文件夹的bin目录加入环境便令,进入cmd执行mongod.exe即可运行服务器
//驱动版本为2.10.1
//按正则语句查询那里可能有一点问题,持续更新
import java.net.UnknownHostException;
import java.util.Set;
import java.util.regex.Pattern;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.MongoClient;
import com.mongodb.WriteResult;
public class Test {
public static void main(String[] args) throws UnknownHostException {
// TODO Auto-generated method stub
MongoClient client = new MongoClient("localhost",27017);
DB db = client.getDB("haha");//连接数据库,会顺便建库
//添加数据库用户,如果重复添加不会报错
db.addUser("root", "123456".toCharArray());//
System.out.println(db.authenticate("root", "123456".toCharArray()));//登录数据库,true为成功,false为失败
Set nameSet = db.getCollectionNames();//得到集合的名字
//获取集合(列名)
for (Object object : nameSet) {
System.out.println("collection名字是"+object);
}
//建一个表(集合)
BasicDBObject basicDBObject = new BasicDBObject();//一个dbOBject存一条数据
// DBCollection collection = db.createCollection("col1", basicDBObject);//如果之前已经建表那么就会报错
//获得一个表
DBCollection collection2 = db.getCollection("col1");
//插入一条数据
basicDBObject.append("name", "jack3");
basicDBObject.append("age",11);
collection2.insert(basicDBObject);//保存数据
//数据库查询
DBCursor cursor = collection2.find();
while(cursor.hasNext()){
DBObject obj = cursor.next();//obj.toStirng()是一个json字符串
System.out.println("name:"+obj.get("name"));
System.out.println("age:"+obj.get("age"));
}
//分页查询
DBCursor cursor2 = collection2.find().skip(0).limit(10);
while(cursor2.hasNext()){
DBObject obj = cursor2.next();
System.out.println("name:"+obj.get("name"));
System.out.println("age:"+obj.get("age"));
}
//设置查询条件
BasicDBObject basicDBObject2 = new BasicDBObject();
basicDBObject2.put("age", new BasicDBObject("$gte",10).append("$lte", 12));//这个查询用的DBobject在这之前不要append或者put
DBCursor cursor3 = collection2.find(basicDBObject2);
System.out.println("查询结果数量是"+cursor3.size());
while(cursor3.hasNext()){
DBObject obj = cursor3.next();
System.out.println("条件查询 age是"+obj.get("age")+obj.get("name"));
}
//in查询
BasicDBObject basicDBObject3 = new BasicDBObject();
basicDBObject3.put("age", new BasicDBObject("$in",new Integer[]{11,12}));
DBCursor cursor4 = collection2.find(basicDBObject3);
while(cursor4.hasNext()){
DBObject obj = cursor4.next();
System.out.println(obj);
}
//执行模糊查询
Pattern pattern = Pattern.compile("j.*");//设置过滤条件
BasicDBObject basicDBObject4 = new BasicDBObject();
basicDBObject.put("name", new BasicDBObject("$regex", pattern));
DBCursor cursor5 = collection2.find(basicDBObject);
while(cursor5.hasNext()){
DBObject obj = cursor5.next();
System.out.println("正则查询"+obj);
}
//修改行操作
BasicDBObject basicDBObject5 = new BasicDBObject();
basicDBObject5.put("name", "jack2");//设置修改筛选条件
BasicDBObject basicDBObject6 = new BasicDBObject();
basicDBObject6.put("$set", new BasicDBObject("name","修改后name"));
WriteResult result = collection2.updateMulti(basicDBObject5,basicDBObject6);//第一个参数是查询条件,第二个参数设置改后属性
System.out.println(result.getN());//返回被修改的行数
//删除行操作,把符合条件全删掉
BasicDBObject basicDBObject7 = new BasicDBObject();
basicDBObject5.put("name", "修改后name");//设置删除筛选条件
WriteResult result2 = collection2.remove(basicDBObject7);//第一个参数是查询条件,第二个参数设置改后属性
System.out.println(result.getN());//不管删几行都返回1
//关闭连接
client.close();
}
}
MongoDB基础CRUD JAVA语句
最新推荐文章于 2023-04-03 10:14:12 发布