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的网站,适合新手!老鸟略过。。。
相关文章推荐
- hibernate+spring+mvc+Easyui框架模式下使用grid++report的总结
- zTree的调用设使用(跨两个系统,两类技术实现的项目案例SpringMVC+Spring+MyBatis和Struts2+Spring+ibatis框架组合)
- 使用IDEA搭建SpringBoot项目且整合mongoDB和mysql
- 使用 Spring Boot 快速构建 Spring 框架应用
- 浅谈spring+springMVC+mybatis框架整合(配置文件的使用)
- 使用intellij idea搭建MAVEN+SSM(Spring+SpringMVC+MyBatis)框架
- springboot使用第三方的json解析框架fastjson
- Spring MVC+MyBatis框架使用多个数据源以及之间的切换
- spring mvc + mahout + hadoop + jersey + mongodb + logback框架
- springboot使用webmagic框架来抓取自己的博客信息
- Spring Boot中使用log4j实现http请求日志入mongodb
- Spring Boot中使用MongoDB3.0出现auth failed
- 使用SSM(Spring+SpringMVC+Mybatis)框架搭建服务器实现登录验证
- 使用Spring Boot框架maven项目新建后启动失败, 提示Unregistering JMX-exposed beans on shutdown
- (3)spring boot如何使用第三方json解析框架
- 使用 Spring Boot 快速构建 Spring 框架应用
- ssm(spring+springMVC+mybatis)框架整合mongodb3.2.6提示Cannot resolve the name 'repository:auditing-attribut
- 使用 Spring Boot 快速构建 Spring 框架应用,PropertyPlaceholderConfigurer
- 使用 Spring Boot 快速构建 Spring 框架应用
- 在Spring Boot框架下使用WebSocket实现消息推送