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

1 packagecom.mongo.test;2

3

4 importjava.text.SimpleDateFormat;5 importjava.util.ArrayList;6 importjava.util.List;7

8 importorg.bson.Document;9 importorg.junit.Test;10

11 importcom.mongo.util.MongoConnection;12 importcom.mongodb.client.FindIterable;13 importcom.mongodb.client.MongoCollection;14 importcom.mongodb.client.MongoCursor;15 importcom.mongodb.client.MongoDatabase;16 importcom.mongodb.client.model.Filters;17

18 public classMongoTest {19

20 MongoConnection connection = newMongoConnection();21 //连接到数据库

22 MongoDatabase mongoDatabase =connection.getConnectionBasis();23

24

25 @Test26 public voidtest(){27 //createCollection();//创建 集合 一次就好

28 MongoCollection collection =getCollection();29 insertDomcument(collection);30 findAll(collection);31 //delete(collection);

32 }33

34 /**

35 * 创建 集合【对应RDBMS 中的数据表】 com.mongodb.client.MongoDatabase.createCollection("集合名")36 */

37 public voidcreateCollection(){38 mongoDatabase.createCollection("testConllection");39 System.out.println("创建集合成功");40 }41

42 /**

43 * 获取 集合【对应RDBMS 中的数据表】com.mongodb.client.MongoDatabase.getCollection("集合名")44 */

45 public MongoCollectiongetCollection(){46 MongoCollection collection = mongoDatabase.getCollection("testConllection");47 System.out.println("转换到指定集合");48 returncollection;49 }50

51 /**

52 * 插入 文档【对应RDBMS 中的一条数据】com.mongodb.client.MongoCollection.insertOne()/insertMany()53 */

54 public void insertDomcument(MongoCollectioncollection){55 /**

56 * 1. 创建文档 org.bson.Document 参数为key-value的格式57 * 2. 创建文档集合List58 * 3. 将文档集合插入数据库集合中 mongoCollection.insertMany(List) 插入单个文档可以用 mongoCollection.insertOne(Document)59 **/

60 Document document = newDocument();61 document.append("name", "走四方");62 document.append("age", 23);63 document.append("url", "www.baidu.com");64

65 List list = new ArrayList();66 list.add(document);67

68 collection.insertMany(list);69 System.out.println("插入文档成功");70

71 //插入 单条数据

72 Document t = newDocument();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.find()83 * 查询 本条数据的时间节点 _id采用ObjectId格式84 *85 * ObjectId 是一个12字节 BSON 类型数据,有以下格式:86 前4个字节表示时间戳87 接下来的3个字节是机器标识码88 紧接的两个字节由进程id组成(PID)89 最后三个字节是随机数。90 */

91 public void findAll(MongoCollectioncollection){92 /**

93 * 1. 获取迭代器FindIterable94 * 2. 获取游标MongoCursor95 * 3. 通过游标遍历检索出的文档集合96 **/

97 FindIterable findIterable =collection.find();98 MongoCursor 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.updateMany()108 */

109 public void update(MongoCollectioncollection){110

111 collection.updateMany(Filters.eq("age", 26), new Document("$set",new Document("age",100)));112

113 FindIterable findIterable =collection.find();114 MongoCursor cursor =findIterable.iterator();115 while(cursor.hasNext()) {116 System.out.println("更新后的MongoDB数据:"+cursor.next());117 }118 }119

120

121 /**

122 * 删除 文档 com.mongodb.client.MongoCollection.deleteMany()/deleteOne()123 */

124 public void delete(MongoCollectioncollection){125 //删除符合条件的 第一个文档

126 collection.findOneAndDelete(Filters.eq("age", 26));127 //删除符合条件的 所有文档

128 collection.deleteMany(Filters.gte("age", 20));129

130 FindIterable findIterable =collection.find();131 MongoCursor cursor =findIterable.iterator();132 while(cursor.hasNext()){133 System.out.println("删除后的MongoDB数据:"+cursor.next());134 }135 }136

137

138

139

140

141 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值