博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mongoDB在java上面的应用
阅读量:6989 次
发布时间:2019-06-27

本文共 7090 字,大约阅读时间需要 23 分钟。

1、实际应用过程中肯定不会直接通过Linux的方式来连接和使用数据库,而是通过其他驱动的方式来使用mongoDB

2、本教程只针对于Java来做操作,主要是模拟mongoDB数据库在开发过程中的应用

3、在官网下载对应的jar包,来做mongoDB的驱动支持,当然也可以利用pom.xml文件自己下载

  jar下载地址:

  这个是3.4.2版本的,有需要可以下载其他版本

  

也可以在pom.xml文件中加入

org.mongodb
mongodb-driver
3.4.2

4、连接数据库,连接数据库的方式有两种。一种是没有用户名密码,另外一种是有的

  1)没有密码

  public static void main(String[] args) {        try{            // 连接到 mongodb 服务            MongoClient mongoClient = new MongoClient( "localhost" , 27017 );            // 连接到数据库            MongoDatabase mongoDatabase = mongoClient.getDatabase("test");              System.out.println("Connect to database successfully");                        }catch(Exception e){            System.err.println( e.getClass().getName() + ": " + e.getMessage() );        }              }

  2)有密码

  public static void main(String[] args) {        try {              //连接到MongoDB服务 如果是远程连接可以替换“localhost”为服务器所在IP地址              //ServerAddress()两个参数分别为 服务器地址 和 端口              ServerAddress serverAddress = new ServerAddress("localhost",27017);              List
addrs = new ArrayList
(); addrs.add(serverAddress); //MongoCredential.createScramSha1Credential()三个参数分别为 用户名 数据库名称 密码 MongoCredential credential = MongoCredential.createScramSha1Credential("username", "databaseName", "password".toCharArray()); List
credentials = new ArrayList
(); credentials.add(credential); //通过连接认证获取MongoDB连接 MongoClient mongoClient = new MongoClient(addrs,credentials); //连接到数据库 MongoDatabase mongoDatabase = mongoClient.getDatabase("databaseName"); System.out.println("Connect to database successfully"); } catch (Exception e) { System.err.println( e.getClass().getName() + ": " + e.getMessage() ); } }

5、创建集合

public static void main(String[] args) {        try{               // 连接到 mongodb 服务            MongoClient mongoClient = new MongoClient( "localhost" , 27017 );             // 连接到数据库            MongoDatabase mongoDatabase = mongoClient.getDatabase("test");              System.out.println("Connect to database successfully");            mongoDatabase.createCollection("test");            System.out.println("集合创建成功");                }catch(Exception e){            System.err.println( e.getClass().getName() + ": " + e.getMessage() );        }    }

6、获取集合

public static void main(String[] args) {        try{               // 连接到 mongodb 服务            MongoClient mongoClient = new MongoClient( "localhost" , 27017 );            // 连接到数据库            MongoDatabase mongoDatabase = mongoClient.getDatabase("test");              System.out.println("Connect to database successfully");            MongoCollection
collection = mongoDatabase.getCollection("test"); System.out.println("集合 test 选择成功"); }catch(Exception e){ System.err.println( e.getClass().getName() + ": " + e.getMessage() ); } }

7、插入文档(BSON格式)

public static void main(String[] args) {        try{               MongoClient mongoClient = new MongoClient( "localhost" , 27017 );  // 连接到 mongodb 服务            MongoDatabase mongoDatabase = mongoClient.getDatabase("test");  // 连接到数据库            System.out.println("Connect to database successfully");            MongoCollection
collection = mongoDatabase.getCollection("test"); //获取集合 System.out.println("集合 test 选择成功"); Document document = new Document("title", "MongoDB").append("description", "database").append("likes", 100); //新建文档 List
documents = new ArrayList
(); documents.add(document); collection.insertMany(documents); //添加文档(对应的BSON数据) System.out.println("文档插入成功"); }catch(Exception e){ System.err.println( e.getClass().getName() + ": " + e.getMessage() ); } }

8、检索文档,查找对用数据

public static void main(String[] args) {    try{           MongoClient mongoClient = new MongoClient( "localhost" , 27017 );  // 连接到 mongodb 服务        MongoDatabase mongoDatabase = mongoClient.getDatabase("test");  // 连接到数据库        System.out.println("Connect to database successfully");        MongoCollection
collection = mongoDatabase.getCollection("test"); //获取集合 System.out.println("集合 test 选择成功"); FindIterable
findIterable = collection.find(); //获取迭代器 MongoCursor
mongoCursor = findIterable.iterator(); //获取游标 while(mongoCursor.hasNext()){ //循环获取数据 System.out.println(mongoCursor.next()); } }catch(Exception e){ System.err.println( e.getClass().getName() + ": " + e.getMessage() ); }}

9、更新文档数据

public static void main( String args[] ){    try{           MongoClient mongoClient = new MongoClient( "localhost" , 27017 );  // 连接到 mongodb 服务        MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");  // 连接到数据库        System.out.println("Connect to database successfully");        MongoCollection
collection = mongoDatabase.getCollection("test"); System.out.println("集合 test 选择成功"); collection.updateMany(Filters.eq("likes", 100), new Document("$set",new Document("likes",200))); //更新文档 将文档中likes=100的文档修改为likes=200 FindIterable
findIterable = collection.find(); //检索查看结果 MongoCursor
mongoCursor = findIterable.iterator(); while(mongoCursor.hasNext()){ System.out.println(mongoCursor.next()); } }catch(Exception e){ System.err.println( e.getClass().getName() + ": " + e.getMessage() ); }}

10、删除文档

public static void main( String args[] ){    try{           MongoClient mongoClient = new MongoClient( "localhost" , 27017 );  // 连接到 mongodb 服务        MongoDatabase mongoDatabase = mongoClient.getDatabase("test");  // 连接到数据库        System.out.println("Connect to database successfully");        MongoCollection
collection = mongoDatabase.getCollection("test"); System.out.println("集合 test 选择成功"); collection.deleteOne(Filters.eq("likes", 200)); //删除符合条件的第一个文档 collection.deleteMany (Filters.eq("likes", 200)); //删除所有符合条件的文档 //检索查看结果 FindIterable
findIterable = collection.find(); MongoCursor
mongoCursor = findIterable.iterator(); while(mongoCursor.hasNext()){ System.out.println(mongoCursor.next()); } }catch(Exception e){ System.err.println( e.getClass().getName() + ": " + e.getMessage() ); }}

11、基本的操作就是这样,在实际应用过程中,可以通过一定的数据格式要求来做一些修改和添加,数据的应用可以通过Document来具体获取获取进行处理

12、为了方便数据库的管理和学习也可以参考其他的学习方法,来实现对应的结果

13、推荐一个学习mongoDB的网站,适合新手!老鸟略过。。。

  网址:

 

转载地址:http://jpzvl.baihongyu.com/

你可能感兴趣的文章
[Basic] ASCII,Unicode 和 UTF-8
查看>>
数据结构 八大排序算法的时间复杂度 稳定性
查看>>
纯CSS 写动画背景,高仿蚂蚁庄园小鸡仔
查看>>
ES6快速入门(一)
查看>>
零基础该如何学习UI设计
查看>>
【云安全】阿里云云安全助理工程师认证(ACA)课程
查看>>
UIWebView中Objective C和JavaScript通信
查看>>
指弹赞美 技术服务支持
查看>>
领酌酒业:白酒行业真的那么暴利?
查看>>
拆掉城墙 苹果终于宣布要对外公布AI研究成果
查看>>
你不知道的SOAP webserivce 和 RESTful SOAP webserivce 对比及区别
查看>>
(十五)JAVA springboot ssm b2b2c多用户商城系统源码-commonservice-sso服务搭建(一)...
查看>>
Go第三方库
查看>>
java电子商务系统源码 Spring MVC+mybatis+spring cloud+spring boot+spring security
查看>>
android PopupWindow响应返回键
查看>>
Spring 3 MVC深入研究
查看>>
Linux 进程间通信 - 共享内存(转)
查看>>
文件共享系统之NFS
查看>>
数据库备份恢复(oracle)
查看>>
Exchange 2010迁移Exchange 2013(一)共存部署
查看>>