Spring boot -mongodb
1.更接近原生mongodb
public class MongoApp {
private static final Log log = LogFactory.getLog(MongoApp.class);
public static void main(String[] args) throws Exception {MongoOperations mongoOps = new MongoTemplate(new MongoClient(), "database");
mongoOps.insert(new Person("Joe", 34));
log.info(mongoOps.findOne(new Query(where("name").is("Joe")), Person.class)); mongoOps.dropCollection("person");
} }
2.@Configuration public class AppConfig { /* * Use the standard Mongo driver API to create a com.mongodb.MongoClient instance. */ public @Bean MongoClient mongoClient() { return new MongoClient("localhost"); } }
3.@Configuration public class AppConfig { /* * Factory bean that creates the com.mongodb.MongoClient instance */ public @Bean MongoClientFactoryBean mongo() { MongoClientFactoryBean mongo = new MongoClientFactoryBean(); mongo.setHost("localhost"); return mongo; } }
4. http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo.xsd
5.spring与mongodb的整合
<context:property-placeholder location="classpath:/com/myapp/mongodb/config/mongo.properties"/><mongo:mongo-client host="${mongo.host}" port="${mongo.port}"><mongo:client-optionsconnections-per-host="${mongo.connectionsPerHost}"threads-allowed-to-block-for-connection-multiplier="${mongo.threadsAllowedToBlockForConnectionMultiplier}"connect-timeout="${mongo.connectTimeout}"max-wait-time="${mongo.maxWaitTime}"auto-connect-retry="${mongo.autoConnectRetry}"socket-keep-alive="${mongo.socketKeepAlive}"socket-timeout="${mongo.socketTimeout}"slave-ok="${mongo.slaveOk}"write-number="1"write-timeout="0"write-fsync="true"/>
</mongo:mongo-client><mongo:db-factory dbname="database" mongo-ref="mongoClient"/><bean id="anotherMongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate"><constructor-arg name="mongoDbFactory" ref="mongoDbFactory"/>
</bean>MongodbTemplate一旦配置好,是线程安全的的,可以跨多个实例使用
@Configuration
public class AppConfig {public @Bean MongoClient mongoClient() {return new MongoClient("localhost");}public @Bean MongoTemplate mongoTemplate() {return new MongoTemplate(mongoClient(), "mydatabase");}
}
mongodb的构造函数:
MongoTemplate(MongoClient mongo, String databaseName):
MongoTemplate(MongoDbFactory mongoDbFactory):
MongoTemplate(MongoDbFactory mongoDbFactory, MongoConverter mongoConverter): <mongo:mongo-client host="localhost" port="27017"/>
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate"><constructor-arg ref="mongoClient"/><constructor-arg name="databaseName" value="geospatial"/>
</bean>
官方推荐使用MongoOperations
.对mongodb进行操作..
public class MongoApp {private static final Log log = LogFactory.getLog(MongoApp.class);public static void main(String[] args) {MongoOperations mongoOps = new MongoTemplate(new SimpleMongoDbFactory(new MongoClient(), "database"));Person p = new Person("Joe", 34);// Insert is used to initially store the object into the database. mongoOps.insert(p);log.info("Insert: " + p);// Findp = mongoOps.findById(p.getId(), Person.class);log.info("Found: " + p);// UpdatemongoOps.updateFirst(query(where("name").is("Joe")), update("age", 35), Person.class);p = mongoOps.findOne(query(where("name").is("Joe")), Person.class);log.info("Updated: " + p);// Delete mongoOps.remove(p);// Check that deletion workedList<Person> people = mongoOps.findAll(Person.class);log.info("Number of people = : " + people.size());mongoOps.dropCollection(Person.class);} }
转载于:https://www.cnblogs.com/dibinbin/p/9444764.html
Spring boot -mongodb相关推荐
- Spring boot mongodb
mongodb语法 spring boot mongodb 引入 pom依赖 <dependencies><dependency><groupId>org.spri ...
- Spring Boot MongoDB 入门
1. 概述 可能有一些胖友对 MongoDB 不是很了解,这里我们引用一段介绍: FROM <分布式文档存储数据库 MongoDB> MongoDB 是一个介于关系数据库和非关系数据库之间 ...
- Spring Boot MongoDB 实现总结
一.引入数据源配置和依赖 <!-- MongoDb --> <dependency><groupId>org.springframework.boot</gr ...
- Spring boot整合Mongodb
最近的项目用了Mongodb,网上的用法大多都是七零八落的没有一个统一性,自己大概整理了下,项目中的相关配置就不叙述了,由于spring boot的快捷开发方式,所以spring boot项目中要使用 ...
- 一文读懂 Spring Boot、微服务架构和大数据治理三者之间的故事
微服务架构 微服务的诞生并非偶然,它是在互联网高速发展,技术日新月异的变化以及传统架构无法适应快速变化等多重因素的推动下诞生的产物.互联网时代的产品通常有两类特点:需求变化快和用户群体庞大,在这种情况 ...
- 一文透析 Spring Boot、微服务架构和大数据治理三者之间的故事
微服务架构 微服务的诞生并非偶然,它是在互联网高速发展,技术日新月异的变化以及传统架构无法适应快速变化等多重因素的推动下诞生的产物.互联网时代的产品通常有两类特点:需求变化快和用户群体庞大,在这种情况 ...
- Spring Boot + Spring Data + Elasticsearch实例
在本文中,我们将讨论"如何创建Spring Boot + Spring Data + Elasticsearch范例". 本文中使用的工具: Spring Boot 1.5.1.R ...
- SpringBoot 集成 Spring Data Mongodb 操作 MongoDB 详解
一.MongoDB 简介 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,且与关系数据库的最为相像的.它支持的数据结构非常松散,是类似 json 的 bso ...
- Spring boot AOP(切面)使用方法和解析
最近开始实习,终于有时间写博客了.因为需要使用springboot,大三学Oracle数据库的时候使用过springboot,之前没怎么用java写网页后台,发现网上很多的博客要不就是复制粘贴,要不就 ...
最新文章
- 无需「域外」文本,微软:NLP就应该针对性预训练
- cookie被淘汰_session正在被淘汰吗?
- Dws同步mysql数据_数据库技术丨GaussDB(DWS)数据同步状态查看方法
- dede织梦5.7,后台采集数据导入,空文章过滤.
- 第一范式,第二范式,第三范式,BCNF范式理解
- 刚刚修复的Windows 0day和Chrome 0day 已被组合用于 WizardOpium 攻击(详解)
- Yahoo!团队实践分享:网站性能优化的34条黄金守则(二)
- 湖南省公务员考试计算机专业,湖南省2018年普通高等学校对口招生考试计算机应用类专业综合知识试题...
- 在SQL Server 语句中,如何将参数做为表名传递到查询语句中
- 用枚举法实现单例设计模型
- python立体匹配评价_综述翻译:机器学习与立体匹配(一)
- POJ - 2533(动态规划 —— 最长子序列)
- 录屏软件 Apowersoft(傲软录屏)
- 关键词百度指数叠加-关键词百度指数叠加
- vue中rule数据校验
- 小程序实现轨迹回放代码
- 矩阵论(五):矩阵的正定性
- jQuery 中的 39 个技巧
- 成熟的人不问过去,聪明的人不问现在,豁达的人不问未来~!
- 【工具】sci-hub:一个神奇的免费下载文献的网站
热门文章
- Vue.js TypeScript 支持
- Vue.js教程视频
- Java中String类的常见面试题
- C++著名程序库的比较和学习经验
- spring事务传播属性与隔离级别
- opencv 金字塔图像分割
- GMM(Gaussian mixture model, 高斯混合模型)
- Coursera公开课笔记: 斯坦福大学机器学习第四课“多变量线性回归(Linear Regression with Multiple Variables)”
- 【OpenCV3】图像的读取、显示与保存
- 杰出数据科学家的关键技能是什么?