本文主要是介绍如何使用Java访问与操作MongoDB数据库,包含以下内容:
- 如何连接数据库
- 如何插入新数据
- 如何查找数据并输出
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
以下是详细过程
第一步: 准备MongoDB驱动
下载驱动: mongo-java-driver-3.5.0.jar
请无视Mongo以外的Jar包
把MongoDB的Jar包添加到新建的Java项目中
第二步: 写代码
- 需要import哪些包?
- 如何连接数据库
连接数据库的方法有很多种, 这里只介绍其中一种, 更多的可以上官网查询文档
//连接服务器
MongoClient mongoClient = new MongoClient("192.168.6.42", 27017 );
//访问数据库
MongoDatabase database = mongoClient.getDatabase("mydb");
//访问数据表
MongoCollection<Document> collection = database.getCollection("test");
如果服务器上数据库不存在,则会自动创建一个新的数据库"mydb"
数据表不存在也会自动创建新的数据表"test"
连接前, 用工具先看看, 数据库"mydb"是不存在的
- 如何插入数据
用Java插入数据,要用到Document这个类
数据类型用Json
具体实现代码如下
例子中分别有插入1条数据的样例, 也有一次插入多条数据的方法
运行后,可以看到数据库,数据表和数据都已成功生成
- 如何查询数据
有了数据后, 来看看如何把数据查询出来并打印输出
输出1条数据用:collection.find().first();
输出多条数据用:collection.find()
多条数据可以借助iterator迭代器轮询输出
小结
从上文看到, Java操作MongoDB并不复杂, 但进阶应用中, 如何利用find来得到各种指定条件的数据就稍微有些复杂, 感觉兴趣的朋友可以关注我的头条号, 后面我会写一些find()进阶使用方法, 并与SQL常用的select做一些对比