package com.shj.mango;
import java.util.ArrayList;
import java.util.List;
import org.bson.Document;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
public class MongoJDBC {
/**
* 获取连接
*@Description:
*@author shj
*@param: @return
* @Date 2018年5月23日 下午2:46:14
*/
public static MongoDatabase getDB() {
//连接到服务
MongoClient client=new MongoClient("localhost",27017);
//连接到数据库
MongoDatabase mongodb=client.getDatabase("shj");
System.out.println("连接到数据库成功");
return mongodb;
}
public static void createDB(MongoDatabase database,String dbName) {
database.createCollection(dbName);
}
/**
* 查询
*@Description:
*@author shj
*@param: @param collection
* @Date 2018年5月23日 下午2:50:19
*/
public static void select( MongoCollection<Document> collection) {
FindIterable<Document> findIterable = collection.find();
MongoCursor<Document> mongoCursor = findIterable.iterator();
while(mongoCursor.hasNext()){
System.out.println(mongoCursor.next());
}
System.out.println("查询完毕");
}
/**
* 文档插入
*@Description:
*@author shj
*@param: @param collection
*@param: @param lists
* @Date 2018年5月23日 下午3:12:30
*/
public static void insert(MongoCollection<Document> collection) {
List<Document> docuemts=new ArrayList<>();
for (int i = 0; i < 100; ) {
docuemts.add(new Document("shape","water").append("name", "水").
append("color", "无色").append("weight", i++));
docuemts.add(new Document("shape","flower").append("name", "花").
append("color", "红色").append("weight", i++));
docuemts.add(new Document("shape","book").append("name", "书").
append("color", "黑色").append("weight", i++));
}
collection.insertMany(docuemts);
System.out.println("文档插入成功");
select(collection);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
MongoDatabase mongodb= getDB();
//创建集合
// createDB(mongodb, "ceshi"); 如果已存在,则报错
//获取集合
MongoCollection<Document> collection =mongodb.getCollection("ceshi");
if(collection==null) {
//如果集合不存在,则创建
createDB(mongodb, "ceshi");
}
System.out.println("获取集合成功");
// 获取文档(查询所有)
select(collection);
/* MongoCollection<Document> collection1 = mongodb.getCollection("hello");
select(collection1);
*/
//增加文档
insert(collection);
update(collection,"color","无色","白色");
delete(collection,"color","白色");
}catch(Exception e) {
e.printStackTrace();
}
}
/**
* 根据条件删除
*@Description:
*@author shj
*@param: @param collection
*@param: @param string 参数
*@param: @param string2 参数值
* @Date 2018年5月23日 下午3:19:06
*/
private static void delete(MongoCollection<Document> collection, String string, String string2) {
//删除符合条件的第一个文档
collection.deleteOne(Filters.eq(string, string2));
//删除所有符合条件的文档
collection.deleteMany (Filters.eq(string, string2));
System.out.println("删除完毕");
select(collection);
}
/**
*
*@Description: 更新,将某个参数图换位另一个
*@author shj
*@param: @param collection 集合
*@param: @param string 参数名
*@param: @param string2 当前值
*@param: @param string3 替换值
* @Date 2018年5月23日 下午3:13:55
*/
private static void update(MongoCollection<Document> collection, String param, String currentValue, String afterValue) {
collection.updateMany(Filters.eq(param, currentValue), new Document("$set",new Document(param,afterValue)));
System.out.println("更新完毕");
select(collection);
}
}
import java.util.ArrayList;
import java.util.List;
import org.bson.Document;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
public class MongoJDBC {
/**
* 获取连接
*@Description:
*@author shj
*@param: @return
* @Date 2018年5月23日 下午2:46:14
*/
public static MongoDatabase getDB() {
//连接到服务
MongoClient client=new MongoClient("localhost",27017);
//连接到数据库
MongoDatabase mongodb=client.getDatabase("shj");
System.out.println("连接到数据库成功");
return mongodb;
}
public static void createDB(MongoDatabase database,String dbName) {
database.createCollection(dbName);
}
/**
* 查询
*@Description:
*@author shj
*@param: @param collection
* @Date 2018年5月23日 下午2:50:19
*/
public static void select( MongoCollection<Document> collection) {
FindIterable<Document> findIterable = collection.find();
MongoCursor<Document> mongoCursor = findIterable.iterator();
while(mongoCursor.hasNext()){
System.out.println(mongoCursor.next());
}
System.out.println("查询完毕");
}
/**
* 文档插入
*@Description:
*@author shj
*@param: @param collection
*@param: @param lists
* @Date 2018年5月23日 下午3:12:30
*/
public static void insert(MongoCollection<Document> collection) {
List<Document> docuemts=new ArrayList<>();
for (int i = 0; i < 100; ) {
docuemts.add(new Document("shape","water").append("name", "水").
append("color", "无色").append("weight", i++));
docuemts.add(new Document("shape","flower").append("name", "花").
append("color", "红色").append("weight", i++));
docuemts.add(new Document("shape","book").append("name", "书").
append("color", "黑色").append("weight", i++));
}
collection.insertMany(docuemts);
System.out.println("文档插入成功");
select(collection);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
MongoDatabase mongodb= getDB();
//创建集合
// createDB(mongodb, "ceshi"); 如果已存在,则报错
//获取集合
MongoCollection<Document> collection =mongodb.getCollection("ceshi");
if(collection==null) {
//如果集合不存在,则创建
createDB(mongodb, "ceshi");
}
System.out.println("获取集合成功");
// 获取文档(查询所有)
select(collection);
/* MongoCollection<Document> collection1 = mongodb.getCollection("hello");
select(collection1);
*/
//增加文档
insert(collection);
update(collection,"color","无色","白色");
delete(collection,"color","白色");
}catch(Exception e) {
e.printStackTrace();
}
}
/**
* 根据条件删除
*@Description:
*@author shj
*@param: @param collection
*@param: @param string 参数
*@param: @param string2 参数值
* @Date 2018年5月23日 下午3:19:06
*/
private static void delete(MongoCollection<Document> collection, String string, String string2) {
//删除符合条件的第一个文档
collection.deleteOne(Filters.eq(string, string2));
//删除所有符合条件的文档
collection.deleteMany (Filters.eq(string, string2));
System.out.println("删除完毕");
select(collection);
}
/**
*
*@Description: 更新,将某个参数图换位另一个
*@author shj
*@param: @param collection 集合
*@param: @param string 参数名
*@param: @param string2 当前值
*@param: @param string3 替换值
* @Date 2018年5月23日 下午3:13:55
*/
private static void update(MongoCollection<Document> collection, String param, String currentValue, String afterValue) {
collection.updateMany(Filters.eq(param, currentValue), new Document("$set",new Document(param,afterValue)));
System.out.println("更新完毕");
select(collection);
}
}