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

本文介绍了在SpringBoot 2和SpringMVC框架下集成MongoDB的不同方法。在SpringBoot项目中,配置主要在application.properties或.yml文件中完成,而SpringMVC则需要在代码中手动配置MongoDB。文中详细讲述了SpringMVC集成MongoDB的步骤,包括添加依赖、连接数据库、创建集合、插入、检索、更新和删除文档等基本操作,并推荐了一个适合新手学习MongoDB的网站。
摘要由CSDN通过智能技术生成

spring 2 +mybatis+MongoDB4 的使用这一篇文章介绍的非常
SpringBoot2.x集成MongoDB
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使用 这篇文章里有一些介绍MongoTemplate的属性

**

springmvc+MongoDB 4

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

添加依赖

	<dependency>
        <groupId>org.mongodb</groupId>

        <artifactId>mongodb-driver</artifactId>

        <version>3.4.2</version>

    </dependency>

代码

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<ServerAddress> addrs = new ArrayList<ServerAddress>(); 

            addrs.add(serverAddress); 

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

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

            List<MongoCredential> credentials = new ArrayList<MongoCredential>(); 

            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<Document> collection = mongoDatabase.getCollection("xxx");

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



          //检索所有文档 

            /**

            * 1. 获取迭代器FindIterable<Document>

            * 2. 获取游标MongoCursor<Document>

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

            * */ 

            FindIterable<Document> findIterable = collection.find(); 

            MongoCursor<Document> 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版本的,有需要可以下载其他版本

<dependency>

        <groupId>org.mongodb</groupId>

        <artifactId>mongodb-driver</artifactId>

        <version>3.4.2</version>

    </dependency>

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<ServerAddress> addrs = new ArrayList<ServerAddress>(); 

            addrs.add(serverAddress);               

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

            MongoCredential credential = MongoCredential.createScramSha1Credential("username", "databaseName", "password".toCharArray()); 

            List<MongoCredential> credentials = new ArrayList<MongoCredential>(); 

            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<Document> 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<Document> collection = mongoDatabase.getCollection("test"); //获取集合

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

            Document document = new Document("title", "MongoDB").append("description", "database").append("likes", 100);  //新建文档

            List<Document> documents = new ArrayList<Document>(); 

            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<Document> collection = mongoDatabase.getCollection("test"); //获取集合

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

        FindIterable<Document> findIterable = collection.find();  //获取迭代器

        MongoCursor<Document> 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<Document> 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<Document> findIterable = collection.find();  //检索查看结果

        MongoCursor<Document> 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<Document> collection = mongoDatabase.getCollection("test");

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

        collection.deleteOne(Filters.eq("likes", 200));  //删除符合条件的第一个文档         

        collection.deleteMany (Filters.eq("likes", 200));  //删除所有符合条件的文档 

        //检索查看结果 

        FindIterable<Document> findIterable = collection.find(); 

        MongoCursor<Document> 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值