Spring Data MongoDB的简单使用

日期: 2012-01-31 作者:黄云坤 来源:TechTarget中国 英文

  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

  文档地址:http://static.springsource.org/spring-data/data-mongo/docs/1.0.0.M5/api/org/springframework/data/mongodb/core/MongoTemplate.html#MongoTemplate(org.springframework.data.mongodb.MongoDbFactory)

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐