您的位置:首页 > 数据库 > Mongodb

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

2019-04-19 10:37 99 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_42664511/article/details/89394954

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() );

}

}
< 3ff7 /pre>

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: