MongoDB官网也有各语言所用的API,当然也有Java的了。但是平日写的东西大部分是基于Spring框架的,自然希望对于数据库的操作也在Spring的掌控之下。前几日才Spring的官网看到了SPRING DATA MONGODB,对此很感兴趣稍微试了一下。
10月24日发布的是Spring Data MongoDB 1.0.0.M5 Released。自然还需要Spring Framework。
首先引用相关的包,主要是以下两个:
spring-data-mongodb-1.0.0.M4.jar
spring-data-commons-1.2.0.M1.jar
其他诸如mongo-java-driver.jar的还是需要的,看自己的需要。
下面开始我们的操作了。
1.首先注册一个Mongo的实例
(1)方法一
@Configuration public class AppConfig { public @Bean Mongo mongo() throws UnknownHostException { return new Mongo(“localhost”); //如果是远程的就填IP } } |
(2)方法二:xml配置文件
<?xml version=”1.0″ encoding=”UTF-8″?> <beans xsi:schemaLocation= “http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd”> <mongo:mongo host=”localhost” port=”27017″/> </beans> |
还有一些细节可以设置:
<mongo:mongo host=”localhost” port=”27017″>
<mongo:options connections-per-host=”8″
threads-allowed-to-block-for-connection-multiplier=”4″
connect-timeout=”1000″ //连接超时时间
max-wait-time=”1500}” //等待时间
auto-connect-retry=”true”
socket-keep-alive=”true”
socket-timeout=”1500″ //Socket超时时间
slave-ok=”true”
write-number=”1″
write-timeout=”0″
write-fsync=”true”/>
</mongo:mongo/>
说实在话我对于其中的几个timeout分的不是很清楚,希望了解的朋友指教。
2.MongoDbFactory
这个是位于org.springframework.data.mongodb.core下的,主要有两个方法
DB getDb() throws DataAccessException; DB getDb(String dbName) throws DataAccessException; |
现在注册一个工厂实例
(1)方法一
@Configuration public class MongoConfiguration { public @Bean MongoDbFactory mongoDbFactory() throws Exception { return new SimpleMongoDbFactory(new Mongo(), “databaseName”); } } |
(2)方法二:Xml配置
<mongo:db-factory dbname=”database”>
还有username,password的属性可选,详细参考文档。
3.MongoTemplate的使用
还是先注册一下:
public @Bean MongoTemplate mongoTemplate() throws Exception { return new MongoTemplate(mongo(), “databaseName”); } |
同样支持Xml方式:
<bean id=”mongoTemplate” class=”org.springframework.data.mongodb.core.MongoTemplate”> <constructor-arg ref=”mongo”/> <constructor-arg name=”databaseName” value=”test”/> </bean> |
配置到这里就差不多了。
具体的使用倒是没有什么可说的,参考API就可以搞定了。
最常用的:
创建 insert
保存 save
删除 remove
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号

TechTarget
官方微博

TechTarget中国
作者
相关推荐
-
2017年1月数据库流行度排行榜 新年新气象
新年新气象,数据库知识网站DB-engines最近更新了2017年1月份数据库流行度榜单。TechTarget数据库网站将与您分享1月份的榜单排名情况,让我们拭目以待。
-
创建NoSQL数据建模符号 企业架构师亲自上阵
新兴的NoSQL数据风格促使创新的应用程序快速发展,但NoSQL同时也带来了挑战。NoSQL系统能够快速投入生产,有时甚至根本不用创建任何的前期模式。
-
2016年12月数据库流行度排行榜 几家欢乐几家愁
在过去的6个月中,数据库排行榜的前二十名总体上没有太大的变动,那么数据库知识网站DB-engines最近更新的2016年12月份数据库流行度排名情况是否一如既往的沉寂、低调呢?
-
深入理解Amazon DynamoDB NoSQL云数据库服务
Amazon DynamoDB NoSQL云数据库即服务主要为跨移动设备、网页web端、游戏、数字营销和物联网领域的应用提供支持。