`
147175882
  • 浏览: 133872 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring data mongoDb的小例子

 
阅读更多
spring的配置
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
    	<constructor-arg name="mongo" ref="mongo"/>
    	<constructor-arg name="databaseName" value="test"/>
    </bean>

	<!-- Factory bean that creates the Mongo instance -->
    <bean id="mongo" class="org.springframework.data.mongodb.core.MongoFactoryBean">
    	<property name="host" value="localhost"/>
    </bean>



java代码,包括增加数据。根据id查询,条件查询,聚合group 和 distinct
import static org.junit.Assert.assertEquals;

import java.util.List;


import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.mapreduce.GroupBy;
import org.springframework.data.mongodb.core.mapreduce.GroupByResults;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.test.context.ContextConfiguration;
import org.springside.modules.test.spring.SpringTxTestCase;

import com.mongodb.BasicDBList;
import com.mongodb.BasicDBObject;
import com.mongodb.CommandResult;

@ContextConfiguration(locations = { "/applicationContext-test.xml", "/applicationContext-mongodb.xml" })
public class MongoDbTest extends SpringTxTestCase {
	
	@Autowired
	private MongoTemplate mongoTemplate;
	
	@Test
	public void crud() {
		mongoTemplate.dropCollection(Tuser.class);
		Tuser user = new Tuser();
		
		for (int i = 0; i < 11; i ++) {
			user.setId(""+i);
			user.setSex(""+ i % 2);
			user.setName("amu" + i);
			mongoTemplate.save(user);
		}
		
		List<Tuser> userList = mongoTemplate.findAll(Tuser.class);
		
		for (Tuser t : userList) {
			System.out.println(t.getName());
		}

		System.out.println("done");
	}
	
	@Test
	public void find() {
		Tuser tuser = mongoTemplate.findById("2", Tuser.class);
		assertEquals("amu2", tuser.getName());
		
		Query query = new Query();
		Criteria criteria = new Criteria();
		criteria.and("sex").is("1");
		query.addCriteria(criteria);
		query.limit(2);
		List<Tuser> tuserList = mongoTemplate.find(query, Tuser.class);
		for (Tuser t : tuserList) {
			System.out.println(t.getName());
		}
		
		System.out.println(tuserList.size());
	}
	
	@Test
	public void group() {
		GroupBy groupBy = GroupBy.key("sex").initialDocument("{count:0}")
		.reduceFunction("function(doc, prev){prev.count+=1}");

		GroupByResults<Tuser> r = mongoTemplate.group("tuser", groupBy, Tuser.class);
		BasicDBList list = (BasicDBList)r.getRawResults().get("retval");
		for (int i = 0; i < list.size(); i ++) {
			BasicDBObject obj = (BasicDBObject)list.get(i);
			System.out.println(obj.get("count"));
		}
		System.out.println(r);
	}
	
	@Test
	public void distinct() {
		CommandResult result = mongoTemplate.executeCommand("{distinct:'tuser', key:'sex'}");
		System.out.println();
		BasicDBList list = (BasicDBList)result.get("values");
		for (int i = 0; i < list.size(); i ++) {
			System.out.println(list.get(i));
		}
		System.out.println();
	}
}

class Tuser {
	private String id;
	private String sex;
	private String name;
	
	
	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 getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}
}

分享到:
评论
2 楼 563721501 2013-05-28  
分组带条件怎么处理?
1 楼 563721501 2013-05-28  
想要去的多列重复的怎么办???

相关推荐

    spring mvc+spring data+mongodb实例1

    这个实例涵盖了Spring MVC的控制器设计、Spring Data MongoDB的使用,以及MongoDB的基础操作,是学习现代Java Web开发的一个好例子。通过阅读源码并动手实践,开发者可以加深对这三个技术的理解,并提升自己的技能。

    Spring Data MongoDB 中文参考文档和Springboot使用例子.rar

    通过提供的Spring Data MongoDB中文参考文档和Spring Boot使用例子,你可以深入学习如何结合这两个强大的工具,构建高效、可扩展的MongoDB应用。文档将详细介绍配置、实体映射、查询方法、索引以及全文搜索等方面的...

    spring data mongodb 聚合 管道

    在Spring Data MongoDB中,聚合(Aggregation)是用于处理数据集合的一种强大工具,它允许开发者进行数据统计、分析和汇总。本篇文章将详细介绍如何利用Spring Data MongoDB API进行聚合查询,并提供一个具体的步骤...

    Spring-Mongodb例子

    在"Spring-Mongodb例子"这个压缩包中,可能包含了示例代码,演示了如何在Spring应用中设置MongoDB连接、定义数据模型、创建Repository接口以及执行基本的查询和保存操作。这个例子对于初学者来说,是一个很好的起点...

    spring mongodb很好的例子

    Spring Data MongoDB是Spring框架的一个子项目,它使得与MongoDB的交互变得简单和直观。当将Spring Data与Spring MVC结合时,可以构建出强大的Web应用。 **Spring框架** Spring框架是一个开源的Java平台,用于简化...

    Spring Data MongoDB 数据库批量操作的方法

    Spring Data MongoDB 批量操作方法 在项目开发中,批量插入数据和更新数据的操作是非常常见的,特别是在大数据时代下,高效的数据处理是非常重要的。在 Spring Data MongoDB 中,可以使用 BulkOperations 来实现...

    spring-boot操作mongodb例子

    spring.data.mongodb.uri=mongodb://localhost:27017/mydatabase ``` 3. **创建模型类**: 设计你的数据模型,创建对应的 Java 类。例如,你可以创建一个 `User` 类来表示用户信息: ```java @Document...

    SpringCloud-mongodb.7z

    Spring Data MongoDB是Spring Data项目的一部分,它为MongoDB提供了易于使用的抽象层,包括Repository接口,使得开发者可以使用Java方法名直接执行数据库操作,降低了学习曲线,提升了开发效率。例如,我们可以定义...

    springboot整合mongodb changestream代码

    在Spring Boot项目中,我们需要添加MongoDB和Spring Data MongoDB的相关依赖。在`pom.xml`文件中,确保包含以下依赖: ```xml &lt;groupId&gt;org.springframework.boot &lt;artifactId&gt;spring-boot-starter-data-mongodb...

    spring mvc 集成mongoDB项目 例子

    这个例子展示了如何使用Spring Data MongoDB简化对MongoDB的操作,以及如何在Spring MVC中构建RESTful API。在实际开发中,你可能还需要考虑错误处理、数据验证、分页、排序等复杂功能,但这个基础的例子为你提供了...

    spring +mongodb

    Spring 和 MongoDB 是两个在现代Java开发中非常重要的技术。...在`springmvc_mongodb`这个项目中,你可能找到了关于如何在Spring MVC环境中配置和使用MongoDB的例子,这将有助于深入理解两者之间的整合。

    Spring Data MongoDB中实现自定义级联的方法详解

    在Spring Data MongoDB中,开发人员经常遇到需要处理对象间的级联操作,比如级联保存(Cascade Save)。在关系型数据库中,类似的功能可以通过ORM框架如Hibernate实现,但在NoSQL数据库如MongoDB中,这种功能需要...

    spring-springMVC-mongodb整合例子

    这个例子中的"spring-springMVC-mongodb整合"是一个很好的学习和实践项目,可以帮助开发者深入理解这些技术的结合使用。通过这样的整合,开发者能够构建出更加灵活、适应现代互联网需求的应用程序。

    Java_使用Spring Data为JPA MongoDB Neo4j Redis的例子.zip

    在Java开发中,Spring Data是一个强大的框架,它简化了数据访问层的实现,支持多种数据库技术,如JPA(Java Persistence API)、MongoDB、Neo4j和Redis。本压缩包包含的是一个使用Spring Data与这些数据库系统交互的...

    mongodb在java中小试牛刀

    在Java中使用MongoDB,我们可以借助Spring Data MongoDB框架,它提供了一种简化的方式来操作MongoDB数据库。 首先,让我们了解Spring Data MongoDB的核心概念。Spring Data MongoDB为MongoDB提供了数据访问抽象层,...

    spring结合mongodb例子(maven java project)

    spring-data-mongodb:1.1.0 java:1.8 log4j:1.2.16 junit:4.12 commons-logging:1.1.1 maven:3 注意:spring的不同版本与mongodb结合可能会有问题,自测:spring4.2.1结合mongodb会报错:**springframework.core....

    spring_mongodb.zip

    此外,SpringData MongoDB还支持Repository接口,允许通过继承`MongoRepository`来定义更高级别的查询方法。例如: ```java public interface UserRepository extends MongoRepository, String&gt; { List&lt;User&gt; ...

    基于spring data mongo封装的API,让开发人员不用知道mongo

    Spring Data MongoDB则是Spring Data框架的一个子项目,它为MongoDB提供了全面的支持,使得Java开发者能够轻松地进行数据操作,而无需深入理解MongoDB的底层细节。本项目基于Spring Data MongoDB封装了一套API,旨在...

    SpringSource-spring-data-document-examples-1.0.0.M4-MongoDB-Examples

    在MongoDB的例子中,Spring Data提供了一套统一的API,使得开发者可以使用Java语言进行MongoDB的操作,而无需直接接触MongoDB的原生驱动。 首先,让我们深入了解Spring Data MongoDB的核心概念: 1. **Mongo...

    SpringMongoDBSample:使用SpringData访问MongoDB的简单例子

    在本项目"SpringMongoDBSample"中,我们将深入探讨如何使用Spring Data框架来访问和操作MongoDB数据库。MongoDB是一个流行的NoSQL数据库,以其灵活性、高性能和文档存储能力而受到广泛欢迎。Spring Data MongoDB则是...

Global site tag (gtag.js) - Google Analytics