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;
}
}
分享到:
相关推荐
这个实例涵盖了Spring MVC的控制器设计、Spring Data MongoDB的使用,以及MongoDB的基础操作,是学习现代Java Web开发的一个好例子。通过阅读源码并动手实践,开发者可以加深对这三个技术的理解,并提升自己的技能。
通过提供的Spring Data MongoDB中文参考文档和Spring Boot使用例子,你可以深入学习如何结合这两个强大的工具,构建高效、可扩展的MongoDB应用。文档将详细介绍配置、实体映射、查询方法、索引以及全文搜索等方面的...
在Spring Data MongoDB中,聚合(Aggregation)是用于处理数据集合的一种强大工具,它允许开发者进行数据统计、分析和汇总。本篇文章将详细介绍如何利用Spring Data MongoDB API进行聚合查询,并提供一个具体的步骤...
在"Spring-Mongodb例子"这个压缩包中,可能包含了示例代码,演示了如何在Spring应用中设置MongoDB连接、定义数据模型、创建Repository接口以及执行基本的查询和保存操作。这个例子对于初学者来说,是一个很好的起点...
Spring Data MongoDB是Spring框架的一个子项目,它使得与MongoDB的交互变得简单和直观。当将Spring Data与Spring MVC结合时,可以构建出强大的Web应用。 **Spring框架** Spring框架是一个开源的Java平台,用于简化...
Spring Data MongoDB 批量操作方法 在项目开发中,批量插入数据和更新数据的操作是非常常见的,特别是在大数据时代下,高效的数据处理是非常重要的。在 Spring Data MongoDB 中,可以使用 BulkOperations 来实现...
spring.data.mongodb.uri=mongodb://localhost:27017/mydatabase ``` 3. **创建模型类**: 设计你的数据模型,创建对应的 Java 类。例如,你可以创建一个 `User` 类来表示用户信息: ```java @Document...
Spring Data MongoDB是Spring Data项目的一部分,它为MongoDB提供了易于使用的抽象层,包括Repository接口,使得开发者可以使用Java方法名直接执行数据库操作,降低了学习曲线,提升了开发效率。例如,我们可以定义...
在Spring Boot项目中,我们需要添加MongoDB和Spring Data MongoDB的相关依赖。在`pom.xml`文件中,确保包含以下依赖: ```xml <groupId>org.springframework.boot <artifactId>spring-boot-starter-data-mongodb...
这个例子展示了如何使用Spring Data MongoDB简化对MongoDB的操作,以及如何在Spring MVC中构建RESTful API。在实际开发中,你可能还需要考虑错误处理、数据验证、分页、排序等复杂功能,但这个基础的例子为你提供了...
Spring 和 MongoDB 是两个在现代Java开发中非常重要的技术。...在`springmvc_mongodb`这个项目中,你可能找到了关于如何在Spring MVC环境中配置和使用MongoDB的例子,这将有助于深入理解两者之间的整合。
在Spring Data MongoDB中,开发人员经常遇到需要处理对象间的级联操作,比如级联保存(Cascade Save)。在关系型数据库中,类似的功能可以通过ORM框架如Hibernate实现,但在NoSQL数据库如MongoDB中,这种功能需要...
这个例子中的"spring-springMVC-mongodb整合"是一个很好的学习和实践项目,可以帮助开发者深入理解这些技术的结合使用。通过这样的整合,开发者能够构建出更加灵活、适应现代互联网需求的应用程序。
在Java开发中,Spring Data是一个强大的框架,它简化了数据访问层的实现,支持多种数据库技术,如JPA(Java Persistence API)、MongoDB、Neo4j和Redis。本压缩包包含的是一个使用Spring Data与这些数据库系统交互的...
在Java中使用MongoDB,我们可以借助Spring Data MongoDB框架,它提供了一种简化的方式来操作MongoDB数据库。 首先,让我们了解Spring Data MongoDB的核心概念。Spring Data MongoDB为MongoDB提供了数据访问抽象层,...
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....
此外,SpringData MongoDB还支持Repository接口,允许通过继承`MongoRepository`来定义更高级别的查询方法。例如: ```java public interface UserRepository extends MongoRepository, String> { List<User> ...
Spring Data MongoDB则是Spring Data框架的一个子项目,它为MongoDB提供了全面的支持,使得Java开发者能够轻松地进行数据操作,而无需深入理解MongoDB的底层细节。本项目基于Spring Data MongoDB封装了一套API,旨在...
在MongoDB的例子中,Spring Data提供了一套统一的API,使得开发者可以使用Java语言进行MongoDB的操作,而无需直接接触MongoDB的原生驱动。 首先,让我们深入了解Spring Data MongoDB的核心概念: 1. **Mongo...
在本项目"SpringMongoDBSample"中,我们将深入探讨如何使用Spring Data框架来访问和操作MongoDB数据库。MongoDB是一个流行的NoSQL数据库,以其灵活性、高性能和文档存储能力而受到广泛欢迎。Spring Data MongoDB则是...