您的位置:首页 > 数据库 > Mongodb

Spring操作Mongodb

2016-03-27 21:43 316 查看

1.配置

详情见上一篇文章

<mongo:mongo id="replicaSetMongo" replica-set="127.0.0.1:27020,127.0.0.2:27020">//所有节点
<!-- 每个IP的连接数-->
<mongo:options connections-per-host="1000"
threads-allowed-to-block-for-connection-multiplier="50"
auto-connect-retry="true"/>
</mongo:mongo>
<mongo:db-factory id="mongoDbFactory" dbname="dbname"
mongo-ref="replicaSetMongo" username="username" password="password"/>

<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg name="mongoDbFactory" ref="mongoDbFactory"/>
</bean>


2.查询

public List<Person> findPersonByName(java.lang.String entityName) {
Query query = new Query();
query.addCriteria(Criteria.where("entityName").is(entityName));
return mongoTemplate.find(query, Person.class, "person");
}


分页查询:

public List<Person> findPersonByName(java.lang.String entityName,String currentPage) {
Query query = new Query();
query.addCriteria(Criteria.where("entityName").is(entityName));
int skip = (Integer.parseInt(currentPage) - 1) * 9;
query.skip(skip);
query.limit(10);
return mongoTemplate.find(query, Person.class, "person");
}


3.插入

public void savePerson(List<Person> person) {
for (int i=0;i<person.size();i++) {
mongoTemplate.insert(person.get(i), "person");
}
}


因为mongo是no-sql的数据库,所以即使是两条同样的数据也会被插入,如果不想插入同样的数据,可以将某一个唯一数据设为索引like person里面的name。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mongodb spring