您的位置:首页 > 数据库 > Mongodb

【MongoDB】5.MongoDB与java的简单结合

2016-12-13 10:30 239 查看
1.首先 你的清楚你的MongoDB的版本是多少 就下载对应的架包

下载地址如下:

http://mongodb.github.io/mongo-java-driver/

2.新建一个项目 把架包扔进去,并Build path到你的项目下【如果用于测试,请如下 多用一个架包】

1 package com.mongo.test;
2
3
4 import java.text.SimpleDateFormat;
5 import java.util.ArrayList;
6 import java.util.List;
7
8 import org.bson.Document;
9 import org.junit.Test;
10
11 import com.mongo.util.MongoConnection;
12 import com.mongodb.client.FindIterable;
13 import com.mongodb.client.MongoCollection;
14 import com.mongodb.client.MongoCursor;
15 import com.mongodb.client.MongoDatabase;
16 import com.mongodb.client.model.Filters;
17
18 public class MongoTest {
19
20     MongoConnection connection = new MongoConnection();
21     //连接到数据库
22     MongoDatabase mongoDatabase = connection.getConnectionBasis();
23
24
25     @Test
26     public void test(){
27         //createCollection();//创建   集合 一次就好
28         MongoCollection<Document> collection = getCollection();
29         insertDomcument(collection);
30         findAll(collection);
31         //delete(collection);
32     }
33
34     /**
35      * 创建  集合【对应RDBMS 中的数据表】 com.mongodb.client.MongoDatabase.createCollection("集合名")
36      */
37     public void createCollection(){
38         mongoDatabase.createCollection("testConllection");
39         System.out.println("创建集合成功");
40     }
41
42     /**
43      * 获取  集合【对应RDBMS 中的数据表】com.mongodb.client.MongoDatabase.getCollection("集合名")
44      */
45     public MongoCollection<Document> getCollection(){
46         MongoCollection<Document>  collection = mongoDatabase.getCollection("testConllection");
47         System.out.println("转换到指定集合");
48         return collection;
49     }
50
51     /**
52      * 插入  文档【对应RDBMS 中的一条数据】com.mongodb.client.MongoCollection<Document>.insertOne()/insertMany()
53      */
54     public void insertDomcument(MongoCollection<Document> collection){
55         /**
56         * 1. 创建文档 org.bson.Document 参数为key-value的格式
57         * 2. 创建文档集合List<Document>
58         * 3. 将文档集合插入数据库集合中 mongoCollection.insertMany(List<Document>) 插入单个文档可以用 mongoCollection.insertOne(Document)
59         * */
60         Document document = new Document();
61         document.append("name", "走四方");
62         document.append("age", 23);
63         document.append("url", "www.baidu.com");
64
65         List<Document> list = new ArrayList<Document>();
66         list.add(document);
67
68         collection.insertMany(list);
69         System.out.println("插入文档成功");
70
71         //插入 单条数据
72         Document  t = new Document();
73         t.append("name", "走什么");
74         t.append("age", 26);
75         t.append("url", "www.agen.cn");
76
77         collection.insertOne(t);
78         System.out.println("插入单条数据成功");
79     }
80
81     /**
82      * 查询  所有文档【表内 数据】com.mongodb.client.MongoCollection<Document>.find()
83      * 查询  本条数据的时间节点   _id采用ObjectId格式
84      *
85      * ObjectId 是一个12字节 BSON 类型数据,有以下格式:
86             前4个字节表示时间戳
87             接下来的3个字节是机器标识码
88             紧接的两个字节由进程id组成(PID)
89             最后三个字节是随机数。
90      */
91     public void findAll(MongoCollection<Document> collection){
92         /**
93         * 1. 获取迭代器FindIterable<Document>
94         * 2. 获取游标MongoCursor<Document>
95         * 3. 通过游标遍历检索出的文档集合
96         * */
97          FindIterable<Document> findIterable = collection.find();
98          MongoCursor<Document> mongoCursor = findIterable.iterator();
99          while(mongoCursor.hasNext()){
100              Document document = mongoCursor.next();
101              System.out.println("MongoDB数据:"+document);
102              System.out.println("本地时间:"+new SimpleDateFormat().format(document.getObjectId("_id").getDate()));
103          }
104     }
105
106     /**
107      * 更新   所有文档【表内  数据】com.mongodb.client.MongoCollection<Document>.updateMany()
108      */
109     public void update(MongoCollection<Document> collection){
110
111         collection.updateMany(Filters.eq("age", 26), new Document("$set",new Document("age",100)));
112
113         FindIterable<Document> findIterable = collection.find();
114         MongoCursor<Document> cursor = findIterable.iterator();
115         while (cursor.hasNext()) {
116             System.out.println("更新后的MongoDB数据:"+cursor.next());
117         }
118     }
119
120
121     /**
122      * 删除  文档 com.mongodb.client.MongoCollection<Document>.deleteMany()/deleteOne()
123      */
124     public void delete(MongoCollection<Document> collection){
125         // 删除符合条件的 第一个文档
126         collection.findOneAndDelete(Filters.eq("age", 26));
127         //删除符合条件的  所有文档
128         collection.deleteMany(Filters.gte("age", 20));
129
130         FindIterable<Document> findIterable = collection.find();
131         MongoCursor<Document> cursor = findIterable.iterator();
132         while(cursor.hasNext()){
133             System.out.println("删除后的MongoDB数据:"+cursor.next());
134         }
135     }
136
137
138
139
140
141 }


View Code

5.完成 自行研究
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: