springboot 2+MongoDB 与 springmvc+MongoDB 4 不同框架下的使用

spring 2 +mybatis+MongoDB4 的使用这一篇文章介绍的非常好https://blog.csdn.net/qq_33619378/article/details/81544711

application.properties 这个文件夹下的配置,和yml不一样

MongoDB配置

spring.application.name= spirng-boot-mongodb

spring.data.mongodb.host=localhost

spring.mail.port=2017

spring.data.mongodb.database=test

MongoTemplate使用 https://blog.csdn.net/weixin_42040802/article/details/84397790这篇文章里有一些介绍

如果项目不是用的springboot框架的话,就需要在类中配置mongodb了

添加依赖


  

        org.mongodb

        mongodb-driver

        3.4.2

    


import java.util.ArrayList;

import org.bson.Document;

import java.util.List; 

import com.mongodb.MongoClient; 

import com.mongodb.MongoCredential; 

import com.mongodb.ServerAddress;

import com.mongodb.client.MongoCollection;

import com.mongodb.client.MongoCursor;

import com.mongodb.client.MongoDatabase; 

import com.mongodb.client.FindIterable; 

public class MongodbAppHbaseTest { 

    public static void main(String[] args){ 

        try { 

            //连接到MongoDB服务 如果是远程连接可以替换“localhost”为服务器所在IP地址 

            //ServerAddress()两个参数分别为 服务器地址 和 端口 

            ServerAddress serverAddress = new ServerAddress("1.1.1.1",27017); 

            List addrs = new ArrayList(); 

            addrs.add(serverAddress); 

            //MongoCredential.createScramSha1Credential()三个参数分别为 用户名 数据库名称 密码 

            MongoCredential credential = MongoCredential.createScramSha1Credential("xxx", "xxx", "xxx".toCharArray()); 

            List credentials = new ArrayList(); 

            credentials.add(credential); 

            //通过连接认证获取MongoDB连接 

            MongoClient mongoClient = new MongoClient(addrs, credentials); 

            //连接到数据库 

            MongoDatabase mongoDatabase = mongoClient.getDatabase("name"); 

            System.out.println("Connect to database successfully"); 

//            mongoDatabase.createCollection("xxx");

//            System.out.println("集合创建成功");

            MongoCollection collection = mongoDatabase.getCollection("xxx");

            System.out.println("集合 xxx选择成功");

          //检索所有文档 

            /**

            * 1\. 获取迭代器FindIterable

            * 2\. 获取游标MongoCursor

            * 3\. 通过游标遍历检索出的文档集合

            * */ 

            FindIterable findIterable = collection.find(); 

            MongoCursor mongoCursor = findIterable.iterator();

            int i=0;

            while(mongoCursor.hasNext()){ 

              System.out.println(mongoCursor.next()); 

              i++;

            } 

            System.out.println("i="+i);

        } catch (Exception e) { 

            System.err.println( e.getClass().getName() + ": " + e.getMessage() ); 

        } 

    } 

}

下面是从别的博客上摘抄过来的

mongoDB在java上面的应用

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

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

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

jar下载地址:https://oss.sonatype.org/content/repositories/releases/org/mongodb/mongodb-driver/3.4.2/

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


  

        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、获取集合


        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://www.runoob.com/mongodb/mongodb-tutorial.html

你可能感兴趣的:(springboot 2+MongoDB 与 springmvc+MongoDB 4 不同框架下的使用)