Spring 整合 MongoDB

6 篇文章 0 订阅
6 篇文章 0 订阅

                               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\u5740
mongodb.host=192.168.126.133
# \u6570\u636E\u5E93\u7AEF\u53E3
mongodb.port=27017
# \u591A\u8FDE\u63A5\u7684\u6570\u636E\u5E93
mongodb.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 {
    @Resource
	private MongoTemplate mongoTemplate;
	@Test
	public void mongoTest(){
		Customer customer = new Customer();
		customer.setId(2);
		customer.setUsername("xiaoli");
		customer.setGender("nv");
		mongoTemplate.insert(customer);
		
	}
	
	@Test
	public void findAll(){
		List<Customer> list = mongoTemplate.find(new Query(), Customer.class);
	    for(Customer c :list){
	    	System.out.println(c);
	    }
	}
	
	@Test
	public void findOne(){
		Customer c = mongoTemplate.findOne(new Query(Criteria.where("id").is("2")), Customer.class);
	    System.out.println(c);
	}
	
	@Test
	public 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);
			}
		}
	}
	
	@Test
	public 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值