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 Data MongoDB 中文参考文档和Springboot使用例子,其中还介绍了spring-data-mongodb 如何使用mongodb的全文检索。
使用Spring Data MongoDB和MongoDB 3.0 17.1.1。配置选项 17.1.2。WriteConcern和WriteConcernChecking 17.1.3。认证 17.1.4。服务器端验证 17.1.5。其他事情要注意 附录 附录A:命名空间参考 元素 附录B:Poppers...
springdata+springmvc+ 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....
spring,SpringMVC,整合MongoDB的例子,基于spring-data-mongo1.X,spring4.X
2. Spring Data Elasticsearch:展示了基本文本搜索、地理空间搜索和分面搜索的示例。使用了High Level REST Client作为模板和仓库的后端。 - example:展示了使用基本文本搜索、地理空间搜索和分面搜索的示例。 -...
SpringMongoDBSample 使用SpringData访问MongoDB的简单例子 包含有model的继承 model间的引用
spring-data不必介绍,附件中包括spring-data一些例子,包括整合jpa,mongodb,neo4j,redis的应用,有兴趣的朋友可以参考一下。
这将允许您处理DataTables发送的针对Spring @RestController页面上每条信息绘制的Ajax请求(即,在分页,排序,搜索等时)。 对于MongoDB副本,请参阅 。 例子: @RestControllerpublic class UserRestController {...
- [Spring Boot Actuator监控端点小结](http://blog.didispace.com/spring-boot-actuator-1/) - [在传统Spring应用中使用spring-boot-actuator模块提供监控端点]...
一个应用程序,演示如何将Spring Boot,Spring MVC,Spring Data和Mongo一起使用,以使用嵌入式tomcat服务器创建简单的RESTful API。 依存关系 Java 1.8 JDK 玛文 MongoDB的 项目根目录中包含文件“ data.json”,...
该项目已升级至 #城堡平台 本人承诺该项目完全开放,不会有任何的收费计划... Spring Boot版本 2.0已推出,后续会完善文档。采用2.0的样例: 1.1.0版本当前1.1.0使用的例子: : 1.0.0版本。 1.0.0示例: : 执照
15.3.3 使用Spring Data 250 15.4 从RDBMS迁移到NoSQL 254 15.5 小结 254 第16章 性能调校 256 16.1 并行算法的目标 256 16.1.1 减少延迟的含义 256 16.1.2 如何增加吞吐 257 16.1.3 线性扩展 257 16.2 公式...
Spring-Boot-2 如何更改端口号? 如果您想更改端口号,请在 src/main/resources/application.properties 中的 application.properties 上写入 (server.port=3132) 命令。 您可以在 appplicaton.properties 中更改...