<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mongo="http://www.springframework.org/schema/data/mongo"
xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo-1.5.xsd">
<mongo:mongo id="mongo" replica-set="${mongo.host}">
<mongo:options
connections-per-host="${mongo.connections.per.host}"
threads-allowed-to-block-for-connection-multiplier="${mongo.threads.allowed.to.block.for.connection.multiplier}"
connect-timeout="${mongo.connect.timeout}"
max-wait-time="${mongo.max.wait.time}"
auto-connect-retry="${mongo.auto.connect.retry}"
socket-keep-alive="${mongo.socket.keep.alive}"
socket-timeout="${mongo.socket.timeout}"
slave-ok="${mongo.slave.ok}"
write-number="${mongo.write.number}"
write-timeout="${mongo.write.timeout}"
write-fsync="${mongo.write.fsync}"
/>
</mongo:mongo>
<bean id="mappingContext" class="org.springframework.data.mongodb.core.mapping.MongoMappingContext" />
<bean id="defaultMongoTypeMapper"
class="org.springframework.data.mongodb.core.convert.DefaultMongoTypeMapper">
<constructor-arg name="typeKey"><null/></constructor-arg>
</bean>
<bean id="mongoDbFactory" class="org.springframework.data.mongodb.core.SimpleMongoDbFactory">
<constructor-arg ref="mongo" />
<constructor-arg name="databaseName" value="${mongo.databaseName}" />
</bean>
<bean id="mappingMongoConverter"
class="org.springframework.data.mongodb.core.convert.MappingMongoConverter">
<constructor-arg name="mappingContext" ref="mappingContext" />
<property name="typeMapper" ref="defaultMongoTypeMapper" />
<constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />
</bean>
<bean id="mongodbReadPreference" class="com.mongodb.ReadPreference" factory-method="secondaryPreferred" />
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<property name="readPreference" ref="mongodbReadPreference" />
<constructor-arg name="mongoConverter" ref="mappingMongoConverter" />
<constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />
</bean>
</beans>
java操作:
private void saveOrUpdateMongoSms(MongoSms nsms){
Query query = new Query();
query.addCriteria(Criteria.where("user_id").is(nsms.getUser_id())).
addCriteria(Criteria.where("calltime").is(nsms.getCalltime())).
addCriteria(Criteria.where("phone").is(nsms.getPhone()));
MongoSms ysms = mongoTemplate.findOne(query, MongoSms.class, "nsms");
if(ysms==null){
mongoTemplate.save(nsms,"nsms");
}
}