分享

用MongoDB和Spring Data创建Java应用

 Harvey图书馆 2014-11-26

        【IT168 专稿】当前,NOSQL时代其实已经来临,在NOSQL的大家族中,MongoDB以其可扩展性强,性能高以及开源占据了重要的地位。在MongoDB中,存储数据的方式不再是关系型数据库,而是以象JSON格式那样进行存储,所以可以称为文档型的NOSQL。本文将以一个实际的例子,介绍如何运用Spring开源框架下的Spring Data数据存取框架结合MongoDB,创建一个简单的CRUD应用(增删改查)。本文要求读者有一定的MongoDB和Spring的基础知识。

  关于Spring Data For MongoDB

  大家对Spring 框架应该是相当熟悉了,而Spring data 则是spring新推出的一套方便开发者对关系数据库以及NOSQL进行存取开发的基于spring的API框架。而其中的一个分支Spring Data for MongoDB则是专门为MongoDB度身订造的用于方便开发者对MongoDB进行操作的一组API。如果开发者熟悉Spring开发的话,则可以很容易地使用Spring Data for MongoDB进行开发。在Spring Data For MongoDB中,比如封装了MongoTemplate,这个模板工具类有点象JDBCTemplate工具类,可以很方便地进行MongoDB的常用操作。它其中包括能在文档对象和POJO中做对应的关联映射,还有异常的封装都跟spring是一个体系的,而且对对象的查询更新等,都可以依旧使用开发者熟悉的比如Query,Criteria等进行数据库的查询等操作,此外,还可以使用JPA对MongoDB进行操作。开发者可以在如下的地址下载Spring for MongoDB:http://www./download/community

  安装MongoDB

  下面我们快速安装MongoDB,如果用户已经熟悉如何安装MongoDB,则可以跳过本小节,直接进入下一小节。

c:\mongodb\bin\mongod.exe –dbpath c:\mongodb\data\db

  1) 下载最新版本的MongoDB,解压缩到某个目录,比如c:\mongodb

  2) mongodb需要一个目录去存放数据,mongodb默认的数据存放目录为c:\data\db,但我们可以随意指定目录去存放数据,这里我们指定c:\mongodb\data\db去存放数据。

  3) 接下来是启动的工作,到命令行方式下输入如下指令:

c:\mongodb\bin\mongod.exe –dbpath c:\mongodb\data\db

  要注意的是,如果路径中含有空格,则需要使用双引号包括起来,如:

c:\mongodb\bin\mongod.exe –dbpath“c:\mongodb\data\db store place”

  如果要以服务的形式在windows中启动,请参考下面地址中的介绍:

  http://docs./manual/tutorial/install-mongodb-on-windows/

  使用Spring Data For Mongodb创建应用

  接下来,我们开始创建一个简单的CRUD功能的JAVA应用,首先要在工程的lib目录下,添加上Spring Data For Mongodb中相关的lib包。我们将工程命名为NatureStore,

  步骤1 创建POJO

  代码如下:

package com.orangeslate.naturestore.domain;

import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

@Document
public class Tree {

    @Id
    
private String id;

    
private String name;

    
private String category;

    
private int age;

    
public Tree(String id, String name, int age) {
        this.id
= id;
        this.name
= name;
        this.age
= age;
    }

    
public String getId() {
        return id;
    }

    
public void setId(String id) {
        this.id
= id;
    }

    
public String getName() {
        return name;
    }

    
public void setName(String name) {
        this.name
= name;
    }

    
public String getCategory() {
        return category;
    }

    
public void setCategory(String category) {
        this.category
= category;
    }

    
public int getAge() {
        return age;
    }

    
public void setAge(int age) {
        this.age
= age;
    }

    @Override
    
public String toString() {
        return
"Person [id=" + id + ", name=" + name + ", age=" + age
                
+ ", category=" + category + "]";
    }
}

  这里创建了一个Tree的POJO,并且充分使用了Spring 的注解功能,可以看到,

  @Document注解,表示这个POJO最终要持久化为MongoDB中的document,@id

  指出了需要持久化的@id。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多