java语言连接mongoDB的常用方法
java语言连接mongoDB的常用方法
·
一、什么是MongoDB?
MongoDB是一个介于关系数据库和非关系数据库(nosql)之间的产品,是非关系数
据库当中功能最丰富,最像关系数据库的。
二、Java链接MongoDB
1.导入MongoDB驱动包
2.获取链接对象
//获取mongo对象
MongoClient mc = new MongoClient("localhost",27017);
3.结束释放链接
mc.close();
三、Java操作MongoDB
1.查看库,查看集合
查看MongoDB中的所有库:
//获取链接
MongoClient mc = new MongoClient("localhost",27017);
//获取所有的库
List<String> databaseNames = mc.getDatabaseNames();
for (String s : databaseNames) {
System.out.println(s);
}
查看库中的所有集合:
// 获取Mongo的链接对象
MongoClient mc = new MongoClient("localhost",27017);
// 获取库对象
MongoDatabase db = mc.getDatabase("myschoolday01");
// 获取表对象
MongoCollection<Document> collection = db.getCollection("student");
for(String s : collection){
System.out.println(s);
}
2.增加数据
增加一条数据:
public class addStudentDemo {
public static void main(String[] args) {
Student s = new Student();
s.setSid(1);
s.setSname("艾斯");
s.setBirthday(new Date());
s.setSsex("男");
s.setClassid(1);
MongoClient mc = new MongoClient("localhost",27017);
//获取库对象
MongoDatabase db = mc.getDatabase("myschoolday01");
//获取表对象
MongoCollection<Document> table = db.getCollection("student");
//创建一个document对象
Document doc = new Document();
doc.put("sid", s.getSid());
doc.put("sname", s.getSname());
doc.put("birthday", s.getBirthday());
doc.put("ssex", s.getSsex());
doc.put("classid", s.getClassid());
//插入一条数据
table.insertOne(doc);
Document doc2 = new Document();
//释放资源
mc.close();
}
}
增加多条数据
public class addStudentDemo {
public static void main(String[] args) {
Student s = new Student();
s.setSid(1);
s.setSname("艾斯");
s.setBirthday(new Date());
s.setSsex("男");
s.setClassid(1);
MongoClient mc = new MongoClient("localhost",27017);
//获取库对象
MongoDatabase db = mc.getDatabase("myschoolday01");
//获取表对象
MongoCollection<Document> table = db.getCollection("student");
//创建一个document对象
Document doc2 = new Document();
doc2.put("sid", "2");
doc2.put("sname", "香克斯");
doc2.put("birthday", new Date());
doc2.put("ssex", "男");
doc2.put("classid", 2);
Document doc3 = new Document();
doc3.put("sid", "3");
doc3.put("sname", "戈尔D罗杰");
doc3.put("birthday", new Date());
doc3.put("ssex", "男");
doc3.put("classid", 2);
List<Document> dlist = new ArrayList<Document>();
dlist.add(doc2);
dlist.add(doc3);
table.insertMany(dlist);
//释放资源
mc.close();
}
}
3.删除数据
删除一条 / 删除多条
public class delStudent {
public static void main(String[] args) {
MongoClient mc = new MongoClient("localhost",27017);
MongoDatabase db = mc.getDatabase("myschoolday01");
MongoCollection<Document> table = db.getCollection("student");
//删一个
Bson eq = Filters.eq("sname","戈尔D罗杰");
DeleteResult deleteOne = table.deleteOne(eq);
System.out.println(deleteOne);
System.out.println(deleteOne.getDeletedCount());//个数
//删多个
Bson eq = Filters.eq("age",18);
DeleteResult deleteMany = table.deleteMany(eq);
System.out.println(deleteMany);
mc.close();
}
}
4.修改数据
单条件 / 多条件 / 多条件范围 的修改
public class updateStudent {
public static void main(String[] args) {
MongoClient mc = new MongoClient("localhost",27017);
MongoDatabase db = mc.getDatabase("myschoolday01");
MongoCollection<Document> table = db.getCollection("student");
//条件对象
//单条件修改
Bson eq = Filters.eq("name", "葛二蛋");
Document doc = new Document();
doc.put("$set", new Document("birthday",new Date()));
UpdateResult updateOne = table.updateOne(eq, doc);
System.out.println(updateOne);
//多条件修改
Bson eq = Filters.and(Filters.eq("sex","男"),Filters.eq("classid",1));
Document doc = new Document();
doc.put("$set", new Document("sname","张三丰"));
UpdateResult updateMany = table.updateMany(eq, doc);
System.out.println(updateMany);
//多条件范围
Bson eq = Filters.and(Filters.gte("age", 20),Filters.lte("age", 40));
Document doc = new Document();
doc.put("$set", new Document("classid",10));
UpdateResult updateMany = table.updateMany(eq, doc);
System.out.println(updateMany);
mc.close();
}
}
5. 查询数据
全查 / 单条件查询 / 多条件查询
public class FindStudentDemo {
public static void main(String[] args) {
// 获取Mongo的链接对象
MongoClient mc = new MongoClient("localhost", 27017);
// 获取库对象
MongoDatabase db = mc.getDatabase("myschoolday01");
// 获取表对象
MongoCollection<Document> table = db.getCollection("student");
//全查
FindIterable<Document> find = table.find();
//单条件查询
Bson eq = Filters.eq("name", "小黑");
FindIterable<Document> find = table.find(eq);
//多条件查询
Bson bson = Filters.and(
Filters.eq("name", "小黑"),
Filters.eq("sex", "男")
);
FindIterable<Document> find = table.find(bson);
for (Document doc : find) {
System.out.println(doc);
}
}
}
模糊查询 / 分页查询 / 排序
public class FindStudentDemo {
public static void main(String[] args) {
// 获取Mongo的链接对象
MongoClient mc = new MongoClient("localhost", 27017);
// 获取库对象
MongoDatabase db = mc.getDatabase("myschoolday01");
// 获取表对象
MongoCollection<Document> table = db.getCollection("student");
//模糊查询
Bson regex = Filters.regex("name", "桑");// (开头):^桑 / (结尾):桑$
FindIterable<Document> find = table.find(regex);
//分页
FindIterable<Document> find = table.find().limit(3);
//排序
Document document = new Document("age",-1);
FindIterable<Document> find = table.find().sort(document);
for (Document doc : find) {
System.out.println(doc);
}
}
}
以上是个人对MongoDB的简单介绍以及java如何连接MongoDB,并且对java语言连接MongoDB如何进行增、删、改、查简单举例说明,希望对大家了解了解MongoDB有所帮助。
更多推荐
已为社区贡献3条内容
所有评论(0)