Spring管理MongoDB

安装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方法,示例如下:

linux

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1926037.html

(0)
上一篇 2025年2月22日 20:13:47
下一篇 2025年2月22日 20:14:41

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Spring事务的传播特性和隔离级别

    事务的几种传播特性1. PROPAGATION_REQUIRED: 如果存在一个事务,则支持当前事务。如果没有事务则开启2. PROPAGATION_SUPPORTS: 事务的几种传播特性1. PROPAGATION_REQUIRED: 如…

    数据库 2025年2月22日
    100
  • Spring MVC+Hibernate3 中遇到的问题

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name org.springframework.beans.factory…

    数据库 2025年2月22日
    100
  • Spring+Hibernate常见错误

    spring管理hiberante事务,设置切面的时候一定要考虑所有可能涉及事务的地方,不然切面没有涉及到而有数据库操作的地方很占用数据 1. spring管理hiberante事务,设置切面的时候一定要考虑所有可能涉及事务的地方,不然切面…

    数据库 2025年2月22日
    100
  • Spring 和 Hibernate的集成

    Spring对Hibernate的集成提供了很好的支持,Spring提供了对sessionfactory的初始化,用户不用再关心session的open,close,同时,Spri Spring对Hibernate的集成提供了很好的支持,S…

    数据库 2025年2月22日
    100
  • Hibernate+Spring数据延迟加载问题解决方案

    第一种:更改lazy属性为:false 第二种:加 lt;filtergt; lt;filter-namegt;OpenSessionInViewFilterlt;/filter-namegt; 第一种:更改lazy属性为:false 第二…

    数据库 2025年2月22日
    100
  • Java实现MongoDB中自增长字段

    但在oracle和mongodb数据库中有单独的字段判断唯一性;所以设计中没有自增长字段方式(mysql和mssql都有);并且也不提倡用自增长 在数据库设计原理中;自增长字段的目的是为了unique的索引来判断每条记录唯一性;同时保证大数…

    数据库 2025年2月22日
    100
  • MongoDB入门简介

    MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非 一、基本概念 MongoDB 是一个高性能,开源,无模式的文档型数据库,是当前NoSQL 数据库产品中最热门的…

    数据库 2025年2月22日
    100
  • MongoDB

    MongoDB – GridFS源码分析,这是官网的一段GridFS的介绍. GridFS是提供了把一个大文件切分成多个document来存储的. 向GridFS中插 The database supports native s…

    数据库 2025年2月22日
    100
  • 用Java实现MongoDB正则查询小技巧

    用Java实现MongoDB正则查询小技巧: //模糊查询 private BasicDBObject getLikeStr(String findStr) { Pattern pattern = Pa 用Java实现MongoDB正则查询…

    数据库 2025年2月22日
    100
  • MongoDB保存Java对象的三种方法

    MongoDB有三种方法来保存java对象,一种是通过类实现DBObject接口,一种是利用spring-mongodb工具的对象映射功能,把java对象转换 MongoDB有三种方法来保存java对象,一种是通过类实现DBObject接口…

    数据库 2025年2月22日
    100

发表回复

登录后才能评论