安装Spring for Mongodb,Spring项目为方便对Mongodb的操作,建立了spring-data的子项目,目前,可以有两种方式对Spring mongodb
安装Spring for Mongodb
Spring项目为方便对Mongodb的操作,建立了spring-data的子项目,地址在:
,目前版本是1.0.0M2阶段,已支持对Mongodb的一系列基本操作。我们先从中下载相关的包:spring-data-document-1.0.0.M2.zip,下载解压后,将解压后的四个JAR文件放到工程路径的lib库中,本文中还将使用Spring 3.0.4的版本,请读者自行下载配置。
Spring Mongodb的配置
目前,可以有两种方式对Spring mongodb进行配置。第一种是使用Spring 3中的注解,另外一种是使用传统的XML配置。下面分别进行讲解:
使用Spring 3中的注解
首先在配置类中,,要继承AbstractMongoConfiguration类,代码如下:
这里,引入了MongoTemplate模版类,并且使用对连接数据库的地址,数据库名和collection进行了初始化。
在调用Spring Mongodb配置时,只需要在需要使用的类中调用AnnotationConfigApplicationContext,传入刚才配置好的SpringMongoConfig类即可。如下代码所示:
当获得了mongoOperation对象的实例后,即可进行对mongodb的相关操作。
使用XML配置文件
使用XML配置文件的方法如下:
注意这里引用相关的命名空间xmlns:mongo="http://www.springframework.org/schema/data/mongo"
,并且在名为mongoTemplate中注入相关的数据库地址,数据库名即可,使用方法如下:
使用Spring Mongodb实现增删改查操作
下面通过实例讲解如何使用Spring Mongodb实现增删改查操作,假设我们现在有一个实
体类user如下:
接下来,我们看具体的操作代码,如下,这里假设要将user类保存到名为userprofile的数据集中。
输出结果如下:
Spring mongodb插入数据
下面详细讲解如何使用spring mongodb插入数据。在spring mongodb中,插入数据到
mongodb有如下几种方法:
要注意的是,Spring mongodb中,当没有指定collection时,就会把对象保存到以对象命名的collection中。比如上例中的mongoOperation.insert(user),由于没指定collection的名称,所以会把user对象保存到user这个新建立的collection中。
另外请注意其中的save和insert的区别。它们的区别为:
1)save意思是,当记录不存在时插入,或者是当记录已存在是更新,实际上就是saveorupdate的意思。
2) insert的意思是:当记录不存在时插入,而如果记录存在时则忽略,继续插入。
下面举例子说明:
输出结果如下:
更新Document
在mongodb中,可以使用save,updateFirst(),updateMulti()方法来进行更新,下面
是相关的例子
结果为:
此外,还支持使用updateMulti,updateMulti是将所有的对象进行更新,比如:
表示将所有firstname为yong的user对象的age属性全部更新为40。
查询Document
在spring mongodb中,可以使用findOne(),find()和getCollection()去查询mongodb,常见的用法如下:
删除document
在spring mongodb中, 删除document使用remove方法,示例如下: