Java对MongoDB的增删改查

mac2024-07-20  62

package lesson01; import com.google.gson.Gson; import com.mongodb.MongoClient; import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import com.mongodb.client.model.Filters; import org.bson.Document; public class demo01_Connect_MongoDB { public static void main(String[] args) { CRUD crud = new CRUD(); crud.Find2(); } static class CRUD { public MongoCollection<Document> connect() { // 1.连接到指定的MongoDB数据库,如果不设置host和port,则自动连接localhost:27017 MongoClient client = new MongoClient("localhost",27017); // 2.连接到指定的数据库 MongoDatabase testDB = client.getDatabase("test"); // 3.获取指定的集合对象 MongoCollection<Document> stuColl = testDB.getCollection("students"); return stuColl; } public void Insert() { // 将java中的对象插入 MongoCollection<Document> stuColl = connect(); // 4.创建一个学生对象 Student stu = new Student("猪八戒", 28, "男"); // 5.将stu转换为JSON Gson gson = new Gson(); String stuJSON = gson.toJson(stu); // 6.将json转换为document Document doc = Document.parse(stuJSON); // 7.将stu对象插入到数据库中 stuColl.insertOne(doc); } public void Find() { MongoCollection<Document> stuColl = connect(); // 4.查询数据库中的文档 Document doc = stuColl.find().first(); Gson gson = new Gson(); Student stu = gson.fromJson(doc.toJson(), Student.class); System.out.println(stu); } public void Find2() { MongoCollection<Document> stuColl = connect(); // 4.查询数据库中的文档 FindIterable<Document> docs = stuColl.find(Filters.eq("name", "猪八戒")); for (Document doc : docs) { System.out.println(doc.toJson()); } } public void Remove() { MongoCollection<Document> stuColl = connect(); stuColl.deleteOne(Filters.eq("name", "猪八戒")); } public void updateOne() { MongoCollection<Document> stuColl = connect(); stuColl.updateOne(Filters.eq("name", "猪八戒"), new Document("$set", new Document("age", 20))); } } static class Student { String name; int age; String gender; public Student(String name, int age, String gender) { this.name = name; this.age = age; this.gender = gender; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", age=" + age + ", gender='" + gender + '\'' + '}'; } } }
最新回复(0)