Spring操作Mongodb

来源:互联网 发布:怎么做淘宝客服怎么找 编辑:程序博客网 时间:2024/05/11 09:11

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。

0 0
原创粉丝点击