mongodb near java_java操作Mongodb,Spring-data-mongo简单配置

这段时间一直在用mongodb,但是却没有配置过Spring操作mongodb。

今天配了下,顺便把代码贴出来。

mongodata.xml

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:mongo="http://www.springframework.org/schema/data/mongo"

xsi:schemaLocation="

http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

http://www.springframework.org/schema/data/mongo

http://www.springframework.org/schema/data/mongo/spring-mongo.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context-4.0.xsd">

pom.xml

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

4.0.0

demo

demo

war

0.0.1-SNAPSHOT

demo Maven Webapp

http://maven.apache.org

4.1.6.RELEASE

junit

junit

4.11

test

org.codehaus.jackson

jackson-core-asl

1.9.13

org.codehaus.jackson

jackson-mapper-asl

1.9.13

com.fasterxml.jackson.core

jackson-databind

2.4.3

org.springframework.data

spring-data-mongodb

1.7.0.RELEASE

org.springframework

spring-aop

${spring.version}

org.springframework

spring-core

${spring.version}

org.springframework

spring-expression

${spring.version}

org.springframework

spring-beans

${spring.version}

org.springframework

spring-context-support

${spring.version}

org.springframework

spring-context

${spring.version}

org.springframework

spring-test

${spring.version}

commons-logging

commons-logging

1.2

/**

*

*/

package demo;

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.test.context.ContextConfiguration;

import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.mongodb.DBCollection;

import com.mongodb.DBCursor;

/**

* @author

*

*/

@RunWith(SpringJUnit4ClassRunner.class)

@ContextConfiguration(locations = {"classpath:mongodata.xml"})

public class TestSpringDataMongoDB {

@Resource

private MongoTemplate localMongoTemplate;

@Test

public void testMongoTemplate(){

DBCollection personCon =localMongoTemplate.getCollection("person");//表名,如果没有该表,请用createCollection("person")

DBCursor cursor=personCon.find().limit(2);

while(cursor.hasNext()){

System.out.println(cursor.next());

}

}

}

得到mongoTemplate后就很容易操作了, 增删改查跟在mongo命令窗口差不多。

数据库、表、表结构

da604d7f10e073b36622d0bf67034d2d.png

3eb14fb8bff779a5ee0ffe5b0cfe25d6.png

查询效果

c1b3c9a0f4001f59173d9822903fc269.png

附上官方的一些例子:

查找:

BasicQueryquery=newBasicQuery("{ age : { $lt : 50 }, accounts.balance : { $gt : 1000.00 }}");Listresult=mongoTemplate.find(query,Person.class);

Listresult=mongoTemplate.find(query(where("age").lt(50).and("accounts.balance").gt(1000.00d)),Person.class);

Pointpoint=newPoint(-73.99171,40.738868);Listvenues=template.find(newQuery(Criteria.where("location").nearSphere(point).maxDistance(0.003712240453784)),Venue.class);Queryquery=TextQuery.searching(newTextCriteria().matchingAny("coffee","cake")).sortByScore();Listpage=template.find(query,Document.class);

更新

WriteResultwr=mongoTemplate.updateMulti(newQuery(where("accounts.accountType").is(Account.Type.SAVINGS)),newUpdate().inc("accounts.$.balance",50.00),Account.class);

插入

Personp=newPerson("Bob",33);mongoTemplate.insert(p);Personqp=mongoTemplate.findOne(query(where("age").is(33)),Person.class);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值