Spring 整合 MongoDB

来源:互联网 发布:好用的自动铅笔 知乎 编辑:程序博客网 时间:2024/05/16 09:17

                               Spring 整合 MongoDB

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

启动 mongodb服务

 ./mongod -dbpath ../db/ -logpath ../logs/log -logappend -fork -port 27017

进入 mongodb,并新建一个数据库

如果没有安装mongodb的 请查看 http://blog.csdn.net/raccoon_hzy/article/details/53895807 mongodb的安装与部署

在eclipse中新建一个maven项目

 1 构建pom文件

 

<dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-mongodb</artifactId><version>1.5.4.RELEASE</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>4.1.3.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>4.1.3.RELEASE</version><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>4.1.3.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>4.1.3.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId><version>4.1.3.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>4.1.3.RELEASE</version></dependency><dependency><groupId>org.aspectj</groupId><artifactId>aspectjrt</artifactId><version>1.6.12</version></dependency>

2 新建一个mongodb.properties 文件

# \u6570\u636E\u5E93\u5730\u5740mongodb.host=192.168.126.133# \u6570\u636E\u5E93\u7AEF\u53E3mongodb.port=27017# \u591A\u8FDE\u63A5\u7684\u6570\u636E\u5E93mongodb.dbname=test

3 新建applicationContex.xml文件

<!-- 连接mongodb --><mongo:mongo host="${mongodb.host}" port="${mongodb.port}" /><!-- spring提供的mongodb的操作模板 --><bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate"><constructor-arg ref="mongo" /><!-- 所操作的数据库 --><constructor-arg name="databaseName" value="${mongodb.dbname}" /></bean>

4 新建测试类 MongoDBTest.class

package com.chainhu.test;import java.util.List;import javax.annotation.Resource;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.data.mongodb.core.MongoTemplate;import org.springframework.data.mongodb.core.query.Criteria;import org.springframework.data.mongodb.core.query.Query;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import com.chainhu.domain.Customer;@RunWith(value=SpringJUnit4ClassRunner.class)@ContextConfiguration(locations={"classpath:applicationContext.xml"})public class MongoTest {    @Resourceprivate MongoTemplate mongoTemplate;@Testpublic void mongoTest(){Customer customer = new Customer();customer.setId(2);customer.setUsername("xiaoli");customer.setGender("nv");mongoTemplate.insert(customer);}@Testpublic void findAll(){List<Customer> list = mongoTemplate.find(new Query(), Customer.class);    for(Customer c :list){    System.out.println(c);    }}@Testpublic void findOne(){Customer c = mongoTemplate.findOne(new Query(Criteria.where("id").is("2")), Customer.class);    System.out.println(c);}@Testpublic void removeOne(){// 先查后删Query query = new Query(Criteria.where("id").is(2));if(query != null){Customer c = mongoTemplate.findOne(query, Customer.class);if(c != null){mongoTemplate.remove(c);}}}@Testpublic void removeAll(){List<Customer> list = mongoTemplate.find(new Query(), Customer.class);if(list != null && list.size()>0){            int count = 0;for(Customer c : list){mongoTemplate.remove(c);count++;}System.out.println("共删除:"+count);}}}

运行 mongoTest 方法后在运行 findAll方法

此时 spring整合mongodb完成!

0 0
原创粉丝点击