Spring MongoDB Support(Ò»)

2014-11-24 07:32:02 ¡¤ ×÷Õß: ¡¤ ä¯ÀÀ: 2
spring¶ÔmongoDBµÄÖ§³Ö°üÀ¨ÒÔÏÂÌØÕ÷£º
mongodbÔÚspringÖеÄÅäÖÃÖ§³Ö×¢½â @ConfigurationºÍxmlµÄ·½Ê½
MongoTemplate¸¨ÖúÀàÀ©Õ¹ÁËMongo operationsµÄÉú²úЧÂÊ£¬ÌṩÁËdocumentºÍpojoÀàÐÍÖ®¼äµÄת»»
Ìí¼ÓÒÀÀµµ½pom.xml
org.springframework.data
spring-data-mongodb
1.1.0.RELEASE
¡¡¡¡
Äã¿ÉÒÔ½«ÈÕÖ¾¼¶±ðÉèÖóÉdebugÀ´²é¿´¸ü¶àµÄÈÕÖ¾ÐÅÏ¢
log4j.category.org.springframework.data.document.mongodb=DEBUG
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %40.40c:%4L - %m%n
¡¡
app-mongodb.xml
< xml version="1.0" encoding="UTF-8" >
xmlns:context="http://www.springframework.org/schema/context" xmlns:mongo="http://www.springframework.org/schema/data/mongo"
xsi:schemaLocation="http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/data/mongo
http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
threads-allowed-to-block-for-connection-multiplier="${mongo.threadsAllowedToBlockForConnectionMultiplier}"
connect-timeout="${mongo.connectTimeout}"
max-wait-time="${mongo.maxWaitTime}"
auto-connect-retry="${mongo.autoConnectRetry}"
socket-keep-alive="${mongo.socketKeepAlive}"
socket-timeout="${mongo.socketTimeout}"
slave-ok="${mongo.slaveOk}"
write-number="1"
write-timeout="0"
write-fsync="true" />
¡¡¡¡Person.java
¸´ÖÆ´úÂë
package com.dempe.summer.person.model;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
/**
* @author: Zheng Dongping
* @version 1.0 date: 2013-12-20
*/
@Document(collection = "person")
public class Person {
@Id
private String id;
private String name;
private Integer age;
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 Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
¸´ÖÆ´úÂë
How the '_id' field is handled in the mapping layer
mongoDBĬÈÏ»áΪËùÓеÄdocumentÉú³É_id×ֶΣ¬MongoMappingConverterÀàÓÐÈ·¶¨µÄ¹æÔòÈ¥¹ÜÀí´ÓjavaÀൽ"_id"×ֶεÄÓ³É䣬
µ±Ò»¸ö×ֶα»@Id×¢½â±ê×¢£¬»òÕßÕâ¸ö×ֶεÄÃû×ÖΪid£¬ÄÇôÕâ¸ö×ֶν«»áΪӳÉä³É"_id"
PersonRepository.javapackage com.dempe.summer.person.persist;
import java.util.List;
import org.bson.types.ObjectId;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.data.mongodb.repository.Query;
import com.dempe.summer.person.model.Person;
/**
* @author: Zheng Dongping
* @version 1.0 date: 2013-12-20
*/
public interface PersonRepository extends MongoRepository {

//